首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Visual Basic > VB的“问”与“答”
【标  题】:VB的“问”与“答”
【关键字】:VB,VB
【来  源】:网络

VB的“问”与“答”

作为一个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编程俱乐部问答:【上一篇】
如何充分扩充VB功能:【下一篇】
【相关文章】
  • VB编程俱乐部问答
  • 如何实现VB程序登录密码加密
  • VB5三十六计
  • MS Office 开发工具--VBA
  • VB中使用SQL查询语句
  • VB从图片框控件取得颜色
  • 让VB在程序中显示错误行
  • 教你在VB中如何使用注册表
  • VB查找并替换WORD文档中的字符串
  • VB编程实用精典小技巧3例
  • 【随机文章】
  • Maya 4.0 创建场景物体-移动场景中的物体
  • 使用DDE使应用程序可以添加新的程序组
  • 从ACE源代码库看Socket编程应该怎么写
  • [转贴]感觉有用,拿来用用
  • Linux 网络系统学习: IPv6 的初始化
  • Virtual Piano破解手记
  • 网管和黑客都必须知道的命令
  • DES字符串加密方法 -一个实用的案例
  • 增加岳不群老师
  • InstallShield中注册SQL Anywhere 7.0 ODBC的完整脚本
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.