|
Visual Basic以良好的可视化界面、操作简单和丰富的控件能让程序员非常方便快速地开发出一个完整的程序。加上第三方组件的开发,完善了整个Visual Basic产品,借助于这些组件的威力,应用程序变得易于维护,开发速度也加快了,让广大VB程序员更加爱不释手。从本期开始,我们就向广大VB初学者详细介绍用VB控件编程。
??用VB编程就要用到控件,窗体提供了程序的窗口,而VB控件却要完成程序的大部分任务。这些控件,可以显示或编辑文本,显示图片,与数据库交互,或完成其他许多任务。控件,实质上就是窗体对象内的一个对象。它和窗体一样,都是创建界面的基本构造模块。用Visual Basic开发项目,就是要把窗体、控件和程序组合起来,共同完成一组功能。如果把工程项目比做一个产品的话,那么控件就好比是组成这个产品的一个个零件。而将这些零件组成产品的过程,就是开发者为控件编写代码的过程。
??一、认识控件
??用控件编程,必须先认识控件,启动一个VB新项目,进入VB工作区,找到控件所在的工具箱,如
该图显示的是控件工具箱中的标准控件,如文本框(TextBox)、标签(Label)、按钮(CommandButton)等,为VB安装时缺省配置。在运行时无须额外文件,它们属于内部控件,存在于Visual Basic的.exe文件中。
??在实际编程过程中,工具箱的内部控件是远远不够用的,这时我们就需要加入ActiveX控件扩充功能。通过右击工具箱,打开弹出菜单,选择部件(Conponents),弹出部件(Conponents)窗口
找到所需控件,如:Microsoft Common Dialog Control6.0对话框控件,选定控件名前面的框即可加入,新增的控件就会在工具箱中出现。
Conponents窗口包含了当前系统中安装的所有ActiveX控件,这不光包括Windows系统所带来的控件,还包括第三方控件,控件所在文件的扩展名一般均为OCX。第三方控件一般都可以在程序安装时进入系统,如real公司的RealProducer Basic软件,在安装时会把Real Producer ActiveX Control Library控件安装进系统,我们就可以利用该控件来实现电视信号压缩和文件压缩。
??双击控件图标在窗体上引入控件,也可点击控件图标,在窗体上按住左键拖动鼠标,画出控件大小引入控件。一个好的程序界面,必须要合理使用和放置控件,要讲究界面的美观、大方,切勿乱放堆砌控件。
??二、控件的属性、方法和事件
??控件是具有自己属性、方法和事件的对象,我们可以把属性看成是一个对象的性质,方法看成是对象的动作,事件是看成是对象的响应。拿个气球来比喻,气球的颜色、直径等都是气球的属性,气球本身的充气办法和放气办法就属于气球充放气的方法,气球对外部某些事件响应,如刺破它的事件引起放气,放手的事件引起升空,这就是气球的事件。
??在VB中,每个控件都有若干个属性,用户可以通过属性窗口来查看、设置这些属性。如设置控件外观(Appearance)、高(Height)和宽(Width)、名称(Name)、背景色(Backcolor)和可视性(Visible)等。每个控件属性不尽相同,需要说明的一点是在属性窗口中显示的属性并不是该控件的所有属性,控件的只读属性没有显示出来。
为一个CommandButton的属性窗口。有些非内部控件如ImageList、StatusBar控件,还可以通过右击控件,选择属性,打开属性页来设置该控件属性。
??也可以在程序中实现属性的更改,如下面程序就是将按钮控件Command1的Caption属性改为“I Want to Click”和将文本框的Text属性设为“I Want to Click”。
??Command1.caption=""I Want to Click""
??Text1.text=""I Want to Click""
??还可以让程序运行时看不见控件。下列代码将使Command1在程序运行时隐藏起来,这样在某些时候就起到一定的作用。
??Command1.visible=false
??也可以Command1变成灰色,让用户不能使用。
??Command1.enable=false
??控件的响应即事件的产生方式有多种,如鼠标事件、键盘事件、焦点事件等。对同一类事件具体分又有不同形式,如鼠标事件中的MouseMove事件?MouseDown事件和MouseUp事件。将下面代码加入Command1的MouseDown事件中,按下鼠标后,将Command1的Caption属性改为“I Want to Click”。
??Private Sub Command1_MouseDown??
??Command1.caption=""I Want to Click""
??End sub
??我们可以在代码窗口看到每个控件所具有的事件,在代码窗口的上部,有(通用)和(声明)两个下拉框,通用下拉框中包含有当前窗体上的窗体对象和所有控件,声明下拉框中包含该对象的所有事件。如
就是Command1所具有的事件。
??控件的方法可以看成是对象的动作,控件的属性、方法和事件是相关联的。将下列代码加入Command1的MouseDown事件中,将改变Command1的Caption属性为“I Want to Click”,通过Move方法移动Command1至窗口坐标(0,0)位置
??Private Sub Command1_MouseDown??
??Command1.caption=""I Want to Click""
??Command1.Move 0?0
??End sub
??通过上面几例,初学者必须了解这三要素的表示方法,如在窗体Form1上的Command1按钮的Caption属性的表示方法为?form1.command1.caption,如果是当前窗体,可简化为command1.caption。
??三、对象浏览器(Object Broswer)
??窗体和控件是任何Windows应用程序用户接口的基本元素,所以,使用控件编程的基本要求就要必须熟悉控件的这三个要素:属性、方法和事件。
??对于内部控件,许多VB书籍中都有详尽介绍,但对于众多的ActiveX控件,我们应如何去研究它的三要素呢?这就必须通过对象浏览器(Object Browser)查询。如在窗体上我们引进了对话框(CommonDialog),但不知道该控件提供哪些属性、方法和事件。在IDE集成环境下,我们可以通过“视图”-“对象浏览器”打开,通过搜索,查出对话框属性、方法和事件。如
显示的是对话框的类型库。
??类型库是每个对象属性、方法、事件的目录,每个对象都有类型库,包括自定义的ActiveX控件和ActiveX组件(EXE和DLL格式),可以在对象浏览器中显示。对象浏览器窗口顶部有两个下拉框,第一下包含可用的对象库,缺省类型库如表1
第二个下拉框可以让程序员搜索当前库中对象。在类窗格显示的是当前类型库中所有对象,在成员窗格中显示的是当前对象的属性、方法和事件。我们可以看到,成员格中的显示对象的属性、方法和事件前的图标是不同的,最下面就是所选属性、方法或事件的注释。
??对象浏览器其实就是一个工具,一个优秀的程序员,必须要善于利用对象浏览器。对于初学者来说,也尤为重要,通过对象浏览器,我们了解了控件的三要素,才能知道如何利用控件设计程序。
??四、认识的升化
??用VB编程,实际上就是编程对象,放在窗体上的控件是对象,VB编程就是操作其属性和调用其方法。所有动作都发生在对象的事件中,这是在满足某些条件时发生的,对象是数据和代码的单位,就像一个黑合子,编程人员不需要知道每个对象的具体内部实现方法,无论它有多复杂,我们只需要知道怎么运用它来为我服务就行了。就像我们不需要知道文本框是从TextBox类派生出来的,不需要知道为什么设置属性,文框就会改变,调用方法就会执行,只需要知道它:提供哪些属性、哪些方法、哪些事件。
??属性和方法构成对象的接口,是位于用户与对象之间的接口,通过它才能访问对象的代码和事件。如,我们将文本框放入窗体,通过属性窗口设置其属性,将文本编辑功能加入应用程序用户界面中,在程序中,我们可以提供属性改变和读取的代码,提供事件要响应的子程序,提供文本框动作的方法,这就是一个标准的程序,文本框的属性、方法和事件就构成了它的接口。
??当然当用户改变文本框内容时,产生Change事件,如果用户不提供Change事件的处理程序,那么文本改变时控件不响应。
??小结:用控件编程,首先要对控件提供的三要素有所了解,然后灵活运用三要素制作各种复杂的程序。下一篇将通过一些项目来说明如何利用控件编程。 |
|