认识VB中常用控件 杜伟 2000年 第42期   在上一期,我们认识了VB的集成开发环境,它的特点是所见即所得,使界面设计犹如玩积木游戏一般,编程变得更加容易。它为我们提供了许多标准控件,PFans使用控件可以轻松地设计出美观典型的Windows程序界面。   在工具箱中都是常用的控件,如“文本框”、“图片框”、“列表框”、“数据控件”、“时钟控件”等等,然而VB中还扩展了许多功能更强的通用控件,如“通用对话框控件”(用来打开或保存文件)、“网络控件”(增强了网络开发的功能)、“多媒体控件”(支持多种格式)等,这都需要用户手工添加到工具箱中。   我们以“记事本”程序为例,把其中所用到的控件为大家一一介绍。   启动记事本,首先看到的白色区域,也就是我们输入文字的地方,就是VB工具栏中的Text控件。现在我们可以模仿一下。新建一个工程(在启动VB后出现的新建工程对话框中单击“打开”按钮可以新建一个工程或单击“文件”菜单中的“新建工程”,在出现的对话框中选择“标准EXE”,单击“确定”亦可新建一个工程),在工具栏中点击一下Text控件,然后在Form1窗体上按住鼠标左键不放,拖动鼠标,拖动到一定大小后松开鼠标左键,此时一个Text1控件就在Form1窗体上诞生了。调整好Text1控件的位置后,在属性窗口中找到“MutiLine”,双击它,使其值为True。单击“F5”键运行一下程序,试着输入看看,怎么样?一个记事本的雏形很容易的就出来了吧。不过当多输入几行时,就觉得好像缺少了可以上下左右滚动的滚动条,这怎么办呢?其实很简单,不用输入任何一点代码,只需用鼠标点点就可以做到。操作如下:选中Text1控件(即点击一下Text1控件),在右边的属性窗口中找到“ScrollBars”,单击其右边的“None”,此时出现一个向下的小箭头,点击这个箭头,有四个选项(如^42020401a^1),“None”为没有滚动条,“Horizontal”为水平滚动条,“Vertical”为垂直滚动条,“Both”为水平滚动条与垂直滚动条共存。为了和记事本中的一样,我们选择“Both”,这个时候就单击“F5”键运行程序试试,怎么样,和在记事本中输入是一样的吧。   下面再看看记事本中的“查找”对话框中又用了哪些控件。   如^42020401b^2,一共用了6种控件,它们分别是Label(标签)、CheckBox(复选框)、OptionButton(选项按钮)、Frame(框架)、Text(文本框)及CommandButton(命令按钮)。   “查找内容(N)”所使用的就是Label控件,用来显示不想让其他用户改变的文本,例如一幅画的标题,该控件的使用率非常高。   “区分大小写(C)”所使用的就是CheckBox(复选框)控件,这个控件给用户一个True/False或者Yes/No的选择。使用复选框控件组可以实现多重选择。从复选框控件组中,用户能选一个或多个选项,也能在程序中设置它们的值。我们可以在很多的软件中看到使用了CheckBox控件。   “向上”及“向下”便是使用的OptionButton,该控件用于设置一个拥有许多选项而只能选择其一的按钮。   “方向”所使用的控件是Frame,该控件用来建立一个组合的功能框架。可以把某些控件放入其中,实现某一个特定功能。当Frame框移动时,其中的控件也跟着移动,但控件不能从Frame框中移出。合理的使用Frame控件也可以使界面清爽美观。   “找下一个”及“取消”是使用率最高的控件——CommandBotton,该控件是用来建立用户实现命令的按钮。几乎到处都可以找到该控件的存在。   除了以上这些常用的控件外,还有比较常用的控件就是Picture(图片框)控件及Image(图像框)控件。Picture用来显示一幅图画,也可作为一个容器,接收图片方式的输出也可像窗体一样作为其他控件的载体;Image可以在窗口中显示一个位图或图标。与Picture相比,图像框中的Stretch(伸展)属性可以使图片适应图像框的大小而实现全幅显示。我们可以将Picture控件拖动到Form1窗体上看看效果,方法是:鼠标单击工具箱中的Picture控件,然后在Form1窗体中拖动鼠标直到合适的大小,放开鼠标,再在“属性”窗口中找到“Picture”,单击右边的浏览按钮(即该按钮上有“…”符号),出现一个加载图片对话框,选择一幅图片,单击“打开”即可在Picture控件上看到该图片。   或者你会问,当把这些控件拖动到窗体上时,显示的文字却是控件的名字,如何修改它们呢?要修改显示的文字,可以修改在属性窗口中Caption的值即可。   限于篇幅,不能一次将工具箱中的所有控件一一详细介绍。下面是尚未介绍到的控件功能说明,供大家参考。(将鼠标放在工具箱的某个控件上,停留1~2秒钟,便会出现该控件的名称。)   ComboBox(组合框):用于将TextBox(文本框)与ListBox(列表框)组合在一起,能在文本框中输入信息或选取列表框中的内容。   ListBox(列表框):用来显示可以做单一或多个选择的列表项。如果列表项太多,一个滚动条将自动加到列表框中。   Hscrollbar(水平滚动条):提供一个可视的工具,可以快速浏览一个具有很多条目的列表框或拥有大量信息的文本框,也可以作为一个输入的指示设备,例如控制电脑游戏中的声音。   Vscrollbar(竖直滚动条):它的功能和水平滚动条基本相同,只是显示的方向不同。   Timer(时钟):实现以规定的时间间隔执行程序代码来触发某种事件,它在程序运行阶段该控件是不可见的。在Timer中有一个Interval属性,其单位为毫秒,如设置为1000表示每隔1秒钟执行该控件中的代码,使用该控件可以编写显示时间的程序。   DriveListBox(驱动器列表框):使用这个控制能够显示在用户系统中所有可用驱动器的列表,用户可以在运行阶段选择一个可用的驱动器。   DirListBox(目录列表框):它和驱动器列表框的作用很相似,用于显示目录及路径。   FileListBox(文件列表框):用于显示当前目录中所有文件的列表框,它和驱动器列表框、目录列表框结合起来使用可实现文件的查询、浏览功能。   Shape(形状):在设计程序时可以在Form窗口中绘制各种图形,例如长方形、正方形、椭圆、圆、带有圆角的矩形和正方形,与画图程序中的绘图方式相似。   Line(直线):在设计程序时可以在Form窗体中画线,可以设置不同的线形。   Data(数据):通过Form窗口的约束控制,从数据库里存取数据,是数据库与用户界面的桥梁。   OLE(OLE容器):可以在应用程序中嵌入其他应用对象。   虽然控件给编写程序代来了很大的方便,但是,这些控件仅仅是躯壳而已,不能实现任何功能,要想使得整个程序具有灵魂,实现所设计的功能,还得向其中添加程序代码。如何添加程序代码将在下期与大家见面。   控件:是具有图形界面的对象,它同样具有属性、方法、事件,是用来设计用户界面的重要元素。这是可视化设计的一个重要特征,通常以ocx为后缀名。   工程:也是一个对象,包含了许多程序开发的信息,如版本、产品名称等,以vbp为后缀名。一个工程相当于一个文件夹,可以将一些相关的窗体、模块、类等结合起来,通常大型软件是由多个工程组成工程组来实现更为复杂的功能。   窗体:用来放置各个控件的面板,同时可以控制启动和终止程序时的事件。