网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Visual Basic
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.VB“变态”用法之有用技术和没用.
.带有历史记录功能的菜单.
.利用timeGetTime函数更精准地计算.
.多用户应用程序中应注意问题3.
.用VisualBasic5.0设计E-mail程序.
.用Winsock实现点对点通信.
.VB调用IMAGE控件实现图像缩放的一.
.用EXCEL组件简化VB编程的一种方法.
.把最小化图标放到任务栏右下角.
.VB中利用WinRAR进行文件压缩.
.VB入门教程之三.
.VB创建位图菜单.
.在VB应用程序中使用INI文件的一点.
.用VB实现用户登录admin888的修改.
.VB对注册表操作程序开机时运行.
.VB调用C程序动态链接库的方法.
.人民币金额转换例程.
.DataGrid控件的使用三.
.再谈VB程序的加密.
.教你在CoolBar中显示指定的图片.

VB的“问”与“答”

发表日期:2006-2-27


作为一个VB爱好者,一个人在黑暗中摸索真是太累了。现将我摸索的一些心得贡献给大家,希望起抛砖引玉的作用(我用的是VISUALBASIC50中文版)。
  1.问题:有一程序含有两个Form,其中Form2的Picture属性为一张BMP位图,而以下是Form1显示Form2的程序:
  Form2Show
  '延迟2秒
  Time1=Timer
  WhileTimer-Time1<2
  Wend
  以上程序的目的是希望显示Form2的图片两秒之后,Form1才继续执行,结果竟然是2秒之后,Form2的图片才显示出来。为什么图片会延迟显示呢?
  回答:一般而言,绘图会比一般的指令费时,因此,绘图指令的优先级较低,也就是说,直到其他指令都执行完毕之后,才会轮到绘图指令的执行,在以上的Form1程序中,由于Form2Show之后,又执行了一个费时2秒的While循环,因此,Form2的图片必须等待2秒钟,才会被描绘出来。
  可按如下方法解决:
  在While循环中增加DoEvents,如下:
  Form2Show
  '延迟2秒
  Time1=Timer
  WhileTimer-Time1<2
  DoEvents
  Wend
  DoEvents的作用是短暂地停止执行,使得优先级较低的绘图指令被执行,于是Form2的图片便可以在While循环执行的阶段就被显示出来。
  2.问题:在编数据库程序时,根据帮助来声明变量,如下:
  DimdbAsDatabase
  DimrsAsRecordset
  结果程序编译时VB竟然说“用户定义类型未定义”,是何原因呢?
  回答:Database及Recordset属于DAO(DataAccessObject)模块里的,不是VB内定的,因此必须将DAO的定义包含在“引用中”,VB才会认得Database及Recordset,操作方法是选取功能表的“工程(P)”,待出现“引用(N)”窗时,再选取MicrosoftDAO30ObjectLibrary或MicrosoftDAO25/30CompatibilityLibrary(兼容Access20以前的版本)。(如果使用的是16位版本的VB,则选取MicrosoftDAO25ObjectLibrary)
  3.问题:我想控制I/O,VB是否有类似QuickBASIC的INP、OUT指令可使用?
  回答:VB并无INP及OUT的指令可用,即使是Windows的API函数也没有类似的函数,原因是Windows不希望应用程序直接控制硬件。如果想控制RS232的通讯口,则VB专业版(或企业版)有现成的“MSComm”控件可用。
  4.问题:如何创建椭圆形的窗体?
  回答:当然是用Win32API函数了,用VB50中文版的API文本查看器将下列API函数加入窗体的通用代码中,就可以做一个椭圆窗口。
  PrivateDeclareFunctionCreateEllipticRgnLib″gdi32″(ByValX1AsLong,ByValY1AsLong,ByValX2AsLong,ByValY2AsLong)AsLong
  PrivateDeclareFunctionSetWindowRgnLib″user32″(ByValhWndAsLong,ByValhRgnAsLong,ByValbRedrawAsBoolean)AsLong
  在Form_Load()窗体中加入如下代码:
  PrivateSubForm_Load()
  Show
  SetWindowRgnhWnd,CreateEllipticRgn(0,0,300,200),True
  EndSub
  上述代码可以创建一个椭圆形状的窗口。->

上一篇:巧用VISUALBASIC的RND()函数 人气:3393
下一篇:如何实现VB程序登录admin888加密 人气:3730
浏览全部Visual Basic的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐