第八章 VB中ActiveX控件的使用
第八章 VB中ActiveX控件的使用
8.1 概述
这里的ActiveX控件是指VB标准工具箱里没有的控件,用时需从“工程”菜单里选择“部件…”(或右键单击工具箱,从快捷菜单中选择“部件…”),从部件窗口里勾上需要的控件。
常用ActiveX控件
ActiveX控件 |
ActiveX部件 |
文件名 |
TabStrip 页框 |
Windows通用控件 Microsoft Windows Common Controls 6.0 |
路径: Windows\system\ Mscomctl.ocx |
Toolbar 工具栏 |
||
StatusBar 状态栏 |
||
ProgressBar 进程条 |
||
TreeView 分层显示 |
||
ListView 排列显示 |
||
ImageList 图象列表 |
||
Slider 滑块 |
||
ImageCombo 图象组合框 |
||
CommonDialog 通用对话框 |
Microsoft Common Dialog Control 6.0 |
Comdlg32.ocx |
|
Microsoft Multimedia Control 6.0 |
Mci32.ocx |
MediaPlayer 媒体播放器 |
Microsoft Media Player |
Msdxm.ocx |
8.1 多选项卡对话框——页框(TabStrip)
1. 设置页框的外观样式
(1) 先在窗体上画出一个TabStrip对象;
(2) 右击该对象,从快捷菜单中选择“属性”;
(3) 在TabStrip属性窗口里选择通用(General)标签,在样式(Style)列表框里选择样式;
(4) 在TabStrip属性窗口里选择选项卡(Tabs)标签,在标题(Caption)框里输入标题和关键字;
(5) 如果需要的话,在工具提示文本(ToolTipText)框里输入提示信息;
(6) 在TabStrip属性窗口里选择字体(Font)标签,设置标题的字体(可以直接采用默认值)。
2.增减标签总数
在TabStrip属性窗口里选择选项卡标签,单击插入选项卡按钮增加标签,单击删除选项卡按钮删除标签。
3.在TabStrip上显示图形
1) 在窗体里拖入一个图象列表(ImageList)控件;
2) 在此对象上右击,选择属性,打开属性页窗口;
3) 选择图象标签, 单击插入图片按钮,在选定图片对话框里选择想使用的位图或图标,然后单击打开按钮;为每个想添加图形的选项卡重复此步;
4) 单击确定按钮, ImageList里就存储了需要的图片。
5) 选择TabStrip, 进入TabStrip属性窗口并选择通用标签,在图象列表框里选择ImageList1;
6) 选择选项卡标签,单击紧挨索引框的向左或向右箭头以选择一个Tab序号。在图象框里输入一个数,输入为1,则显示刚才ImageList控件里的第一个图形,输入为2,则显示刚才ImageList控件里的第二个图形,单击确定按钮完成。
4.在TabStrip上放置其它控件
在窗体上象添加普通控件一样,把每一页需要的控件添上,控件不止一个时,应该用Frame来分组,注意:除了默认的第一页上的Frame控件外,其他所有Frame的Visible属性都应该设为假。
5.设计代码
在用户选择了标签后,TabStrip要求编写代码来显示或隐藏控件。可用类似下面的代码来识别用户在哪一个项目上单击。
Private Sub TabStrip1_Click()
Select Case TabStrip1.SelectedItem.key
Case 1
<选第一项时需要执行的代码>
Case 2
<选第一项时需要执行的代码>
……
End Select
End Sub
例: Private Sub TabStrip1_Click()
Select Case TabStrip1.SelectedItem.Key
Case "statubar"
Frame2.Visible = False
Frame1.Visible = True
Case "toolbar"
Frame1.Visible = False
Frame2.Visible = True
End Select
End Sub
8.2 状态栏(StatusBar)和工具栏(ToolBar)
1. 状态栏的作用与组成
StatusBar 控件由 Panel(窗格) 对象组成,最多能被分成 16 个 Panel 对象,每一个 Panel 对象能包含文本和/或图片。控制个别窗格的外观属性包括 Width、Alignment(文本和图片的)和 Bevel(斜面)。此外,能使用 Style 属性七个值中的一个自动地显示公共数据,诸如日期、时间和键盘状态等。
2. 创建状态栏
先在窗体上画出一个StatusBar对象,再右击该对象,从快捷菜单中选择“属性”,进入属性页设置窗口,进行下面的设置:
(1) 选择窗格形状
在属性窗口里选择通用标签,在样式列表框里选择多窗格(缺省形式)或单窗格简单文本形式。
(2) 添加或删除状态栏窗格
在属性窗口里选择窗格标签,单击插入窗格按钮添加一个窗格,或单击删除窗格按钮删除一个窗格。
(3) 在单窗格里显示文本
在属性窗口里选择通用标签,在简单文本框里输入想显示在状态栏窗格里的文本。用代码显示的方式是:
StatusBar1.SimpleText = "要显示的内容"
(4) 在多窗格里显示文本或图形
1). 在属性窗口里选择窗格标签,用索引旁的按钮选择窗格序号。
2). 在文本框里输入想显示在状态栏窗格里的文本。用代码显示的方式是:StatusBar1.Panels(x).Text = "要显示的内容"
3). 如果想加入图形,单击浏览按钮打开一个图形选择对话框,选择想加入的图形,然后单击打开按钮。
(5) 编写代码
如果是一个单窗格状态栏,当用户单击状态栏时,只需用下面的事件过程来响应:
Private Sub StatusBar1_Click()
<要执行的代码>
End Sub
如果是一个多窗格状态栏,就需要鉴别用户单击的是哪一个窗格,可用下面的事件过程来识别用户所单击的窗格:
Private Sub StatusBar1_PanelClick(ByVal Panel As Panel)
Select Case Panel.Index
Case 1
<要执行的代码>
Case 2
<要执行的代码>
……
End Select
End Sub
3.创建工具栏
(1).建立工具栏
1) 在工具箱里单击工具栏图标,拖到窗体的任何位置,Visual Basic自动将ToolBar移到顶部。再右击该对象,从快捷菜单中选择“属性”,进入属性页设置窗口;
2) 选择按钮标签,单击插入按钮,Visual Basic就会在工具栏上显示一个空按钮,重复此步插入多个按钮;
3) 单击确定按钮。如果想把按钮分组,首先插入一个分隔的按钮,再在对话框里将这个按钮的样式属性改为3-Separator。
(2) 为工具栏增加图画
1). 在Visual Basic工具箱里单击ImageList图标,并将它拖到窗体的任何位置(位置不重要,因为它总是不可见的),再右击该对象,从快捷菜单中选择“属性”,进入属性页设置窗口;
2). 选择图象标签,单击插入图片,在选定图形对话框里选择想使用的位图或图标,然后单击打开按钮。为每个想添加图形的工具栏按钮重复此步。
3). 单击确定按钮。
4). 进入ToolBar属性对话框,选择通用标签,在图象列表框里选择刚才添加的ImageList控件。
5). 选择按钮标签,单击紧挨Index框的向左或向右箭头以选择一个按钮序号。出现在工具栏最左边的按钮序号为1。
6). 在Image框里输入一个数,输入为1,则显示刚才ImageList控件里的第一个图形,输入为2,则显示刚才ImageList控件里的第二个图形。
7). 为每个按钮重复第6步, 单击确定按钮,现在Visual Basic就会在工具栏上显示精美的图形了。
(3)为工具栏添加文本信息
在ToolBar属性对话框中选择按钮标签,在标题框里输入想显示在按钮上的文本。
(4)添加ToolTips
ToolTips是一种当点到工具按钮时弹出的小标签。ToolTips很方便,可以告诉那些新手每个按钮是干什么用的。在ToolBar属性对话框中选择按钮标签,在工具提示文本框里输入想作为ToolTip的文本。
(5)编写代码
双击工具栏,以下面的格式输入代码就可以了:
Private Sub Toolbar1_ButtonClick(ByVal Button As Button)
Select Case Button.Index
Case 1
<要执行的代码>
Case 2
<要执行的代码>
……
End Select
End Sub
8.3 进程条(ProgressBar)和滑块(Slider)
1. 进程条
作用:进程条控件用于监视操作完成的进度。
创建:在窗体上画出进程条控件,右击,选择属性,然后进行所需的外观设置。
主要属性:ProgressBar 控件有一个行程和一个当前位置。行程代表该操作的整个持续时间。当前位置则代表应用程序在完成该操作过程时的进度。Max 和 Min 属性设置了行程的界限。Value 属性则指明了在行程范围内的当前位置。
(1) Min属性代表进程条全空时的值,缺省时为0。
(2) Max属性代表进程条全空时的值,缺省时为100。
(3) Value属性代表进程条当前的值(但不出现在属性窗口中),它大于Min属性,小于Max属性。改变Value属性的值将改变进程条的进度显示。
示例:
Private Sub Command1_Click()
If ProgressBar1.Value < ProgressBar1.Max Then
ProgressBar1.Value = ProgressBar1.Value + 5
Else
ProgressBar1.Visible = False ‘当进程条满了的时候让进程条消失
End If
End Sub
2.滑块
Slider 控件是包含滑块和可选择性刻度标记的窗口,在窗体上画出滑块控件,右击,选择属性,然后进行下列设置:
(1)选择滑块的外观
1)方向属性决定滑块的方位,可以是垂直的或水平的滑块。
2)滑块样式属性决定滑块标记的样子。
3)滑块频率属性规定了沿着滑块的标记的间隔大小,缺省的状态是1,表明每个可能值都出现标记,如果把值设置为3,则每三个可能值出现一个标记。
(2)滑块的主要属性及事件
1)Min,Max属性
Min属性决定滑块最左端或最顶端所代表的值。Max属性决定滑块最右端或最下端所代表的值。
2)LargeChange,SmallChange属性
SmallChange决定在滑块两端的箭头钮上单击时改变的值。LargeChange决定在滑块上方或下方区域单击时改变的值。
3)Value属性
Value属性代表当前滑块所处位置的值,这个值由滑块的相对位置决定。
4)Change事件
当滑块位置发生变化时就引发了Change事件。
8.4 排列显示(ListView)控件和分层显示(TreeView) 控件
1.ListView 控件
象“资源管理器”的右侧一样,可使用四种不同视图显示项目。通过此控件,可将项目组成带有或不带有列标头的列,并显示伴随的图标和文本。
可使用 ListView 控件将称作 ListItem 对象的列表条目组织成下列四种不同的视图之一:
大(标准)图标 小图标 列表 报表
View 属性决定在列表中控件使用何种视图显示项目。还可用 LabelWrap 属性控制列表中与项目关联的标签是否可换行显示。另外,还可管理列表中项目的排序方法和选定项目的外观。
ListView 控件包括 ListItem 和 ColumnHeader 对象。ListItem 对象定义 ListView 控件中项目的各种特性,如: 项目的简要描述、由 ImageList 控件提供的与项目一起出现的图标、附加的文本片段,称作子项目,它们与显示在报表视图中的 ListItem 对象关联。
可以使用 HideColumnHeaders 属性决定是否在 ListView 控件中显示列标头。列标头可以在设计时添加,也可以在运行时添加。设计时,使用 ListView“控件属性”对话框的“列首”选项卡添加列标头。运行时,使用 Add 方法添加 ColumnHeader 对象到 ColumnHeaders 集合中。
2.TreeView 控件
该控件象“资源管理器”的左侧一样,用于显示结点( Node) 对象的分层列表,每个 Node 对象均由一个标签和一个可选的位图组成。TreeView 一般用于显示文档标题、索引入口、磁盘上的文件和目录、或能被有效地分层显示的其它种类信息。
创建了 TreeView 控件之后,可以通过设置属性与调用方法对各 Node 对象进行操作,这些操作包括添加、删除、对齐和其它操作。可以编程展开与折回 Node 对象来显示或隐藏所有子节点。
TreeView 控件使用由 ImageList 属性指定的 ImageList 控件,来存储显示于 Node 对象的位图和图标。任何时刻,TreeView 控件只能使用一个 ImageList。这意味着,当 TreeView 控件的 Style 属性被设置成显示图像的样式时,TreeView 控件中每一项的旁边都有一个同样大小的图像。
8.5 多媒体控件
1. 多媒体控件
Multimedia MCI 控件管理媒体控制接口 (MCI) 设备上的多媒体文件的记录与回放。从概念上说,这种控件就是一组按钮,它被用来向诸如声卡、MIDI 序列发生器、CD-ROM 驱动器、视频 CD 播放器和视频磁带记录器及播放器等设备发出 MCI 命令。MCI 控件还支持 Windows (*.avi) 视频文件的回放。
在允许用户从 Multimedia MCI 控件选取按钮之前,应用程序必须先将 MCI 设备打开,并在 Multimedia MCI 控件上启用适当的按钮。在 Visual Basic 中,应将 MCI Open 命令放到 Form_Load 事件中。
2.媒体播放器控件
可以播放各种多媒体文件,主要属性有:
(1) filename(待播放的文件名),可以在属性窗口中设置,也可以用代码实现。
(2) AutoStart(是否自动播放),默认是True。
(3) AutoRewind(是否自动循环),默认是False。
(4) PlayCount(文件播放遍数),默认是1。
8.6 图象列表(ImageList)和 图象组合框(ImageCombo)
1.图象列表
ImageList 控件是包含 ListImage 对象的集合,该集合中的每个对象都可以通过其索引或关键字被引用。ImageList 控件不能独立使用,只是作为一个便于向其它控件提供图象的资料中心。
ImageList 控件的作用象图像的储藏室,同时,它需要第二个控件显示所储存的图像。第二个控件可以是任何能显示图像 Picture 对象的控件,也可以是特别设计的、用于绑定 ImageList 控件的 Windows 通用控件之一。这些控件包括ListView、ToolBar、TabStrip、Header、ImageCombo、和 TreeView 控件。为了与这些控件一同使用 ImageList,必须通过一个适当的属性将特定的 ImageList控件绑定到第二个控件。对于 ListView 控件,必须设置其 Icons 和 SmallIcons 属性为 ImageList 控件。对于 TreeView、TabStrip、ImageCombo、和 Toolbar 控件,必须设置 ImageList 属性为 ImageList 控件。
一旦 ImageList 与某个 Windows 通用控件相关联,就可以在过程中用 Index 属性或 Key 属性的值来引用 ListImage 对象。
当与 Windows 通用控件一起使用 ImageList 控件时,在将它绑定到第二个控件之前,按照希望的顺序将全部需要的图像插入到 ImageList。一旦 ImageList 被绑定到第二个控件 ,就不能再删除图像了,并且也不能将图像插入到 ListImages 集合中间。但是可以在集合的末尾添加图像。
2.图象组合框
ImageCombo 控件是标准 Windows 组合框的允许绘图版本。控件列表部分中的每一项都可以有一幅指定的图片。它可以显示一个包含图片的项目列表,每一项可以有自己的图片,也可以对多个列表项使用相同的图片。
除了支持图片之外, ImageCombo 还提供了一个对象和基于集合的列表控件。控件列表部分的每一项是一个不同的 ComboItem 对象,而且列表中的所有项组合起来构成 ComboItems 集合。这就使它容易一项一项地指定诸如标记文本、ToolTip文本、关键字值以及缩进等级等属性。
8.7 通用对话框控件
Windows应用程序里的Open对话框,Save As对话框在各个应用程序里看起来都是一样的,通用对话框控件就可以提供这些对话框的标准功能。
1.Open对话框及Save As对话框
打开Open对话框使用ShowOpen方法,打开Save As对话框使用ShowSave方法。
Private Sub mnuOpen_Click ()
On Error GoTo ErrorHandler
CommonDialog1.CancelError = True
CommonDialog1.Filter = "Text Files (*.txt)|*.txt|Batch Files (*.bat)|*.bat|All Files (*.*)|*.*"
CommonDialog1.ShowOpen ' 显示打开对话框
Call OpenFile(CommonDialog1.FileName)
ErrorHandler:
Exit Sub
End Sub
其中第三行决定了在文件格式类型栏里出现的文件类型。第五行需要一个自己的打开文件的过程,这个过程需要的参数就是通用对话框返回的文件名。通用对话框的CancelError属性设为True的话,用户单击Cancel按钮将产生一个错误信息程序,凭借这个信息程序可以检测到用户的放弃操作。
2.Color对话框
下面的过程可用用户选择的颜色作为窗体的底色。
Private Sub mnuColor_Click ()
On Error GoTo CancelButton
CommonDialog1.CancelError = True
CommonDialog1.ShowColor
Form1.BackColor = CommonDialog1.Color
CancelButton:
Exit Sub
End Sub
3.Fonts对话框
下面的过程可用字体对话框改变文本框的字体:
Private Sub mnuFonts_Click ()
On Error GoTo CancelButton
CommonDialog1.CancelError = True
CommonDialog1.Flags = cdlCFBoth ' Flags property must be set to cdlCFBoth
CommonDialog1.ShowFont ' Display Font common dialog box.
Text1.FontName = CommonDialog1.FontName
Text1.FontSize = CommonDialog1.FontSize
Text1.FontBold = CommonDialog1.FontBold
Text1.FontItalic = CommonDialog1.FontItalic
Text1.FontUnderline = CommonDialog1.FontUnderline
Text1.FontStrikethru = CommonDialog1.FontStrikethru
Text1.ForeColor = CommonDialog1.Color
CancelButton:
Exit Sub
End Sub
代码的第三行出现了通用对话框的Flags属性决定了通用对话框的一些可选项,不过即使不赋值给Flags,代码也一样会按缺省的情况去执行的。
申明
非源创博文中的内容均收集自网上,若有侵权之处,请及时联络,我会在第一时间内删除.再次说声抱歉!!!
博文欢迎转载,但请给出原文连接。