庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>程序设计>VB专区>编程技巧>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

VB的“问”与“答”

 作者:小敏    日期:2005-8-4 11:32:43
字号选择〖 〗/ 双击滚屏 单击停止   
作为一个VB爱好者,一个人在黑暗中摸索真是太累了。现将我摸索的一些心得贡献给大家,希望起抛砖引玉的作用(我用的是VISUAL BASIC 50中文版)。
   1.问题:有一程序含有两个Form,其中Form2的Picture属性为一张BMP位图,而以下是Form1显示Form2的程序:
   Form2Show
   '延迟2秒
   Time1=Timer
   While Timer-Time1<2
   Wend
   以上程序的目的是希望显示Form2的图片两秒之后,Form1才继续执行,结果竟然是2秒之后,Form2的图片才显示出来。为什么图片会延迟显示呢?
   回答:一般而言,绘图会比一般的指令费时,因此,绘图指令的优先级较低,也就是说,直到其他指令都执行完毕之后,才会轮到绘图指令的执行,在以上的Form1程序中,由于Form2Show之后,又执行了一个费时2秒的While循环,因此,Form2的图片必须等待2秒钟,才会被描绘出来。
   可按如下方法解决:
   在While循环中增加DoEvents,如下:
   Form2Show
   '延迟2秒
   Time1=Timer
   While Timer-Time1<2
   DoEvents
   Wend
   DoEvents的作用是短暂地停止执行,使得优先级较低的绘图指令被执行,于是Form2的图片便可以在While循环执行的阶段就被显示出来。
   2.问题:在编数据库程序时,根据帮助来声明变量,如下:
   Dim db As Database
   Dim rs As Recordset
   结果程序编译时VB竟然说“用户定义类型未定义”,是何原因呢?
   回答:Database及Recordset属于DAO(Data Access Object)模块里的,不是VB内定的,因此必须将DAO的定义包含在“引用中”,VB才会认得Database及Recordset,操作方法是选取功能表的“工程(P)”,待出现“引用(N)”窗时,再选取Microsoft DAO 30 Object Library或Microsoft DAO 25/30 Compatibility Library(兼容Access 20以前的版本)。(如果使用的是16位版本的VB,则选取Microsoft DAO 25 Object Library)
   3.问题:我想控制I/O,VB是否有类似Quick BASIC的INP、OUT指令可使用?
   回答:VB并无INP及OUT的指令可用,即使是Windows的API函数也没有类似的函数,原因是Windows不希望应用程序直接控制硬件。如果想控制RS232的通讯口,则VB专业版(或企业版)有现成的“MSComm”控件可用。
   4.问题:如何创建椭圆形的窗体?
   回答:当然是用Win32 API函数了,用VB50中文版的API文本查看器将下列API函数加入窗体的通用代码中,就可以做一个椭圆窗口。
   Private Declare Function CreateEllipticRgn Lib ″gdi32″(ByVal X1 As Long,ByVal Y1 As Long,ByVal X2 As Long,ByVal Y2 As Long)As Long
   Private Declare Function SetWindowRgn Lib ″user32″(ByVal hWnd As Long,ByVal hRgn As Long,ByVal bRedraw As Boolean)As Long
   在Form_Load()窗体中加入如下代码:
   Private Sub Form_Load()
   Show
   SetWindowRgn hWnd,CreateEllipticRgn(0,0,300,200),True
   End Sub
   上述代码可以创建一个椭圆形状的窗口。
上一篇:VB编程俱乐部问答    下一篇:巧用VISUAL BASIC的RND()函数  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: 小敏
信息来源: 网络 录入时间: 2005-8-4 11:32:43
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿