1、Visual Basic 语 言 程 序 设 计 第16章 常用ActiveX控件?应用VB6.0专业版和企业版除了提供前面所介绍的常用控件之外,还提供了许多ActiveX控件。这些控件都极大地增强了VB程序的功能,同时也简化了复杂应用程序的开发难度。?ActiveX控件既保留了普通控件中的一些基本属性、事件和方法,同时又新增了自身所特有的一些属性和方法。ActiveX控件是以文件形式存在的,其扩展名为.ocx,一般保存在Windows的System目录或System32目录中。ActiveX控件既可以在VB里得到,也可以从其他软件开发商处获得,同时用户还可以自己利用VB去定义ActiveX控
2、件。?ActiveX控件的使用方法和VB的基本控件完全相同。在使用前,必须先将他们添加到工具箱中,具体操作步骤如下:Visual Basic 语 言 程 序 设 计 操作步骤:?(1)选择“工程”菜单下的“部件”子菜单,或在工具箱上单击鼠标右键,屏幕出现快捷菜单,如图16.1所示。?(2)选择“部件”命令,屏幕显示“部件”对话框,在“部件”对话框中,单击“控件”选项卡,如图16.2所示,对话框中列出了VB所提供的各种ActiveX控件。?(3)用鼠标选中所需部件前方的复选框。例如,选中“Microsoft Data DataGrid Control6.0”。?(4)单击“确定”按钮,关闭“部件
3、”对话框。这时所选中的ActiveX控件图标,就会出现在工具箱中,则我们所选中的ActiveX控件就可以在程序中使用了。?在前面的章节中,我们已介绍了一些ActiveX控件:通用对话框、图像列表框、工具栏、状态栏、高级文本框控件、ADO控件、表格控件等。本章介绍一些常用ActiveX控件,例如:滑块控件、日历控件、动画控件、进程条控件、浏览器控件、会话控件等6种控件。Visual Basic 语 言 程 序 设 计 16.1 滑块控件?滑块控件(Slider)是由一个滑块和一个带有刻度的标尺组成的,用户既可以用鼠标拖动滑块,也可以通过按“方向键”或“PageUp”和“PageDown”键来移动
4、滑块,此外单击滑块的任意一侧也可以移动滑块。标尺上的刻度反映了滑块的可移动范围和当前位置。当滑块移动时,系统会自动显示滑块的当前值,滑块既可以水平设置,也可以垂直设置。?在“部件”对话框中,选择“Microsoft Windows Common Control6.0”选项,可以将滑块控件添加到工具箱中。其图标如图16.3所示。Visual Basic 语 言 程 序 设 计 16.1.1 滑块控件的常用属性?(1)BorderStyle属性?该属性设置或返回该控件的边界样式。0为无单线边框;1为有单线边框。?(2)Max属性和Min属性?该属性设置或返回该控件的最大值和最小值。?(3)Orie
5、ntation属性?该属性决定了该控件是水平添加还是垂直添加,0为水平,1为垂直。?(4)TickFrequency属性?该属性返回或设置该控件刻度标记的频率,此频率与其范围有关。例如,如果范围为 100,而 TickFrequency 属性设置为 2,则在范围中每隔两个增量设置一个刻度。Visual Basic 语 言 程 序 设 计 16.1.1 滑块控件的常用属性?(5)TickStyle属性?该属性返回或设置该控件上显示的刻度标记的样式。?(6)SmallChange和LargeChange属性?该属性决定用户操作滑块控件时滑块移动的刻度数量。?SmallChange属性表示用户按下左
6、、右光标键时滑块移动了多少个刻度,默认为1。LargeChange属性表示用户按下PageUp键PageDown键,或用鼠标单击滑块两侧时,滑块移动了多少个刻度,默认为5。?(7)SelectRange属性、SelStart属性和SelLength属性?SelectRange属性决定滑块能否有一个可选择的范围,默认为False。?SelStart属性决定选择范围的起始数值。?SelLength属性设定滑块选择范围的长度。?只有SelectRange属性为True时,才可以通过SelStart属性和SelLength属性在滑块中选择范围。Visual Basic 语 言 程 序 设 计 16.1
7、.1 滑块控件的常用属性?(8)TextPosition属性?该属性返回或设置一个值,用来确定显示文本相对于对象的位置。?0表示在滑块的正上方或左边显示滑块当前值。?1表示在滑块的正下方或右边。?(9)Value属性?该属性设置或返回滑块的当前值。?(10)ToolTipText属性?该属性设置和返回鼠标在控件上暂停时显示的提示文本。Visual Basic 语 言 程 序 设 计 16.1.2 滑块控件的常用事件?滑块控件常用事件有Click事件、Change和Scroll事件。?Click事件是鼠标单击事件。?Scroll事件是在拖动滑块使其滚动时发生的,且Scroll事件发生在 Clic
8、k 事件之前。?Chang事件是在滑块位置改变时触发的。Visual Basic 语 言 程 序 设 计 16.1.3 滑块控件的常用方法?滑块控件常用方法有ClearSel和GetNumTicks。?(1)ClearSel方法清除滑块控件的当前选择,此方法将 SelStart 属性设置为 Value 属性值,并将SelLength 属性设置为0。?(2)GetNumTicks方法设置Slider控件的Min和Max属性之间的刻度数目。?【例16.1】编写一个利用滑块控件来调节图像大小的程序。Visual Basic 语 言 程 序 设 计 16.2 日历控件?日历控件(Calendar)用于
9、显示万年历。?16.2.1 日历控件的常用属性(1)Day属性?该属性返回或设置日期。?(2)Month属性?该属性返回或设置月份。?(3)Year属性?该属性返回或设置年份。Visual Basic 语 言 程 序 设 计 16.2.2 日历控件的常用方法?(1)PreviousMonth方法?该方法设置日期为上一个月份。?(2)NextMonth方法?该方法设置日期为下一个月份。?(3)PreviousYear方法?该方法设置日期为上一年。?(4)NextYear方法?该方法设置日期为下一年。?(5)Today方法?该方法设置日期为当日。?Calendar控件是一个ActiveX控件,在“
10、部件”对话框中,选择“Microsoft Calendar Control8.0”选项,即可将日历控件添加到工具箱中。?【例16.2】用日历控件设计一个万年历程序。Visual Basic 语 言 程 序 设 计 16.3 动画控件?动画控件(Animation)是用来显示动画效果的。该控件只能播放无声的.Avi文件,且该控件只能显示未压缩的.Avi 文件。在 Windows98 中,文件复制进度栏就是使用动画控件调用.Avi文件的一个实例。如图16.8所示,复制文件时我们可以看到该控件的下述效果:即在两个文件夹之间有一张纸(“文件”)在“飘动”。?说明:在VB 6.0安装光盘的 Graphi
11、csAVI 目录中我们可以找到许多无声的.Avi 文件。在“部件”对话框中,选择的“Microsoft Windows Common Controls2 5.0”选项,即可把动画控件添加到工具箱上。其图标如图16.9所示。Visual Basic 语 言 程 序 设 计 16.3.1 动画控件的常用属性?(1)AutoPlay属性?在将.Avi 文件加载到控件时,返回或设置一值,该值确定动画控件是否开始播放.Avi 文件。另外用 AutoPlay属性播放的.Avi文件将不断重复,直到AutoPlay 的设置为 False 时为止。?(2)BackStyle属性?该属性返回或设置一个值,该值确定
12、动画控件是在透明的背景上还是在动画剪辑中所指定的背景颜色上绘制动画。在运行时为只读。?0(缺省)表示透明的,控件的背景颜色是可见的。?1表示不透明的,动画剪辑中指定的背景颜色将充满控件并覆盖其背后的所有颜色。Visual Basic 语 言 程 序 设 计 16.3.1 动画控件的常用属性?(3)Center属性?在动画控件内确定.Avi文件是否居中。当设置为 True(缺省)时,根据图象的大小,在控件中心显示.Avi 文件。当设置为 False时,.Avi 文件定位在控件内的 0,0处。?(4)Visible属性?返回或设置控件对象为可见或隐藏的值。?(5)ToolTipText属性?返回或
13、设置一个工具提示。?(6)Enabled属性?返回或设置一个值,该值用来确定控件是否能够对用户产生的事件作出反应。?(7)BackColor属性?该属性返回或设置对象的背景颜色。?(8)ForeColor属性?该属性返回或设置在对象里显示图片和文本的前景颜色。Visual Basic 语 言 程 序 设 计 16.3.2 动画控件的常用方法?(1)Close方法?该方法使动画控件关闭当前打开的.Avi文件。如果没有加载任何文件,则Close不执行任何操作,也不会产生任何错误。?(2)Open方法?打开一个要播放的.Avi文件。如果AutoPlay属性设置为True,则只要加载该文件,剪辑就开始
14、播放它。在关闭.Avi文件或设置AutoPlay属性为False之前,它将不断重复播放。?(3)Play方法?该方法在动画控件中播放.Avi 文件。?(4)Stop方法?该方法在动画控件中终止播放.Avi 文件。Stop 方法仅终止那些用 Play 方法启动的动画。当设置AutoPlay 属性为 True 时,任何使用 Stop 方法的尝试都导致返回错误。?【例16.3】利用动画控件编写演示动画控件的程序。Visual Basic 语 言 程 序 设 计 16.4 进程条控件?在安装Windows应用程序过程中,我们经常会看见用来反映安装进度的进程条。在VB6.0中我们也可以借助进程条控件(P
15、rogressBar)来实现这一功能。?在“部件”对话框中,选择“Microsoft Windows Common Control6.0”选项,将进程条控件添加到工具箱中,如图16.12所示。Visual Basic 语 言 程 序 设 计 16.4.1 进程条控件的常用属性?(1)Orientation属性?该属性返回或设置“进程条”的添加状态。?设置0为水平方向,为缺省值。?设置1为垂直方向。?(2)Value属性?该属性返回或设置进程条的当前进度数。它决定了进程条中填充区域的大小。?(3)Visible属性决定进程条是否可见。?一般操作结束后进程条就应该消失。此时其值为False。Vis
16、ual Basic 语 言 程 序 设 计 16.4.1 进程条控件的常用属性?(4)Max、Min 属性?该属性返回或设置进程条控件的最大值和最小值。?(5)Scrolling属性?该属性返回或设置一个值,它决定了进度显示方式是连续的还是分段的。?设置0为标准分段的。?设置1为连续的。?(6)BorderStyle属性?设置或返回边界的样子。Visual Basic 语 言 程 序 设 计 16.4.2 进程条控件的常用事件?进程条控件一般是作为辅助性进度显示来使用的。因此在使用它时,我们一般不对其进行“事件”处理,不过普通的事件有Click、MouseDown和MouseMove等,其功能
17、和用法与普通“按钮控件”一样。?【例16.4】编写一个利用进程条控件和动画控件来显示文件下载的进程。Visual Basic 语 言 程 序 设 计 16.5 浏览器控件?在浏览Web页时,我们对IE浏览器窗口及功能是非常熟悉的。事实上利用VB中的浏览器控件(WebBrowser),我们也可以开发制作浏览器程序。因为浏览器控件就是调用了一个名为“shdocvm.dll”的动态链接库,从而实现了Internet Explorer的所有功能。也就是说浏览器控件就是“Internet Explorer”的窗口,其一切方法和属性都已经封装好了,程序开发人员只需要使用少量的代码就可以制作出优秀的网络浏览
18、程序。另外在用“浏览器”控件制作浏览器程序时,必须配合使用ToolBar控件和ImageList控件。?在“部件”对话框中,选择“Microsoft Internet Control”选项,即可以将浏览器控件(WebBrowser)添加到工具箱中。Visual Basic 语 言 程 序 设 计 16.5.1 浏览器控件的常用属性?(1)AddressBar属性?该属性返回或设置一个可以用来确定地址栏是否显示的值。?(2)FullScreen属性?该属性返回或设置一个值来标识浏览器窗口是否已经最大化。?(3)LocationURL属性?该属性返回一个字符串,且该字符串包含有浏览器目前正在显示的
19、URL资源地址或文件夹及文件的完全路径。?(4)LocationName属性?该属性返回一个字符串,且该字符串包含有浏览器目前正在显示的URL资源名称或文件夹及文件的完全路径。Visual Basic 语 言 程 序 设 计 16.5.1 浏览器控件的常用属性?(5)StatusBar属性?该属性返回或设置一个可以用来确定状态栏是否显示的值。?(6)ReSizable属性?该属性设置一个值来表示控件对象是否可以调整大小。?(7)Visible属性?该属性返回或设置一个值来表示控件对象是否可见。Visual Basic 语 言 程 序 设 计 16.5.2 浏览器控件的常用方法?(1)GoBac
20、k方法?回退到浏览器所浏览过的 Web地址历史记录表中的某一项。?(2)GoForward方法?前进到浏览器所浏览过的 Web地址历史记录表中的某一项。?(3)GoHome方法?返回到在浏览器属性对话框中所选定的“主页”位置。?(4)Quit方法?关闭浏览器应用程序。?(5)Refresh方法?更新浏览器目前所显示页面的内容。?(6)Stop方法?取消还未发生的浏览和下载操作。停止如动态页面成分、背景音乐和动画的下传。?(7)Navigate方法?浏览由URL确定的资源或由完整路径指明的文件。?【例16.5】编写一个浏览器程序。Visual Basic 语 言 程 序 设 计 16.6 多选项
21、卡控件?多选项卡控件(SSTab)能为程序制成多个选项卡。在SSTab控件中,所有的选项卡都能够作为其他控件的容器,但是一次只能有一个选项卡被激活(处于活动状态),当某个选项卡被激活后,其内容被显示,而其余的选项被隐藏起来。?在“部件”对话框中,选择的“Microsoft Tabbed Dialog Control 6.0”选项,即可把SSTab控件添加到工具箱上。Visual Basic 语 言 程 序 设 计 16.6.1 多选项卡控件的常用属性?(1)Style属性?该属性决定SSTab控件上的选项卡的样式。?0asStyleTabbedDialong(默认的):活动选项卡的字体是粗体的
22、。?1asStylePropertyPage:每个选项卡的宽度都调整到其标题中文本的长度。活动选项卡的字体不是粗体的。?(2)Tabs属性?该属决定SSTab控件上的选项卡总数。在运行时可以更改Tabs属性,从而添加新的选项卡或删除选项卡。在设计时,用Tabs属性连同TabsPerRow属性,来决定控件显示的选项卡总行数。但是,在运行时,要使用Rows属性才能获得选项卡的行数。?(3)TabsPerRow和Rows属性?TabsPerRow属性决定SSTab控件中每一行选项卡的数目。Rows属性决定SSTab控件中的选项卡总行数。在设计时,由Tabs和TabsPerRow属性决定SSTab控件
23、中的选项卡总行数。在运行时,要使用Rows属性才能获得选项卡的行数。Visual Basic 语 言 程 序 设 计 16.6.1 多选项卡控件的常用属性?(4)TabOrientation属性?该属性决定SSTab控件上的选项卡的位置。选项卡可以出现在控件的顶端、底部、左边或右边。?(5)ShowFocusRect属性?该属性用于返回或设置一个值,当SSTab控件上的选项卡获得焦点时,由这个值可确定在该选项卡上的焦点矩形是否可视。?True(默认):在有焦点的选项卡上,控件显示焦点矩形。?False:在有焦点的选项卡上,控件不显示焦点矩形。?(6)Tab属性?该属性决定SSTab控件上当前选
24、项卡。如果Tab属性值设置为0,则第一选项卡为当前活动的选项卡。如果Tab属性值设置为1,则第二选项卡为当前活动的选项卡。Visual Basic 语 言 程 序 设 计 16.6.2 多选项卡控件的常用事件?SSTab控件能响应Click和DblClick事件。DblClick事件与其他事件一样,Click事件是在用户选定一个选项卡时发生的事件,其过程有一个特殊的参数:PreviousTab,它标识先前为活动的选项。?使用SSTab控件的操作步骤如下:?(1)打开SSTab控件的“属性页”对话框,选择“通用”选项卡,如图16.18所示。?(2)可以进行如下设置:?在“选项卡数”框中,设置选项
25、卡数;?在“选项卡标题”框中,为每个选项卡输入标题。如果输入或修改另一个选项卡的标题,则应单击“”按钮;?在“当前选项卡”框中,设置选项卡的编号,选项卡的编号是从0开始的,Tab属性的值是当前选项卡的编号。?在“选项卡高度”框中,设置选项卡的高度。Visual Basic 语 言 程 序 设 计 16.6.2 多选项卡控件的常用事件?(3)在选项卡中添加控件。?(4)编写SSTab控件的事件过程。?【例16.6】利用SSTab控件,设计一个有三个选项卡程序。Visual Basic 语 言 程 序 设 计 16.7 综合应用?本节介绍状态栏和形状控件、多媒体控件、滑块控件和通用对话框等综合应用的实例。?16.7.1 状态栏控件和形状控件?【例16.7】利用状态栏控件和形状控件编写一个信号灯显示的程序。?16.7.2 多媒体控件和滑块控件?【例16.8】利用多媒体控件、滑块控件和通用对话框,编写一个Midi播放器的程序。