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.5排列显示(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.6多媒体控件
1.多媒体控件
MultimediaMCI控件管理媒体控制接口(MCI)设备上的多媒体文件的记录与回放。从概念上说,这种控件就是一组按钮,它被用来向诸如声卡、MIDI序列发生器、CD-ROM驱动器、视频CD播放器和视频磁带记录器及播放器等设备发出MCI命令。MCI控件还支持Windows(.avi)视频文件的回放。
在允许用户从MultimediaMCI控件选取按钮之前,应用程序必须先将MCI设备打开,并在MultimediaMCI控件上启用适当的按钮。在VisualBasic中,应将MCIOpen命令放到Form_Load事件中。
2.媒体播放器控件
可以播放各种多媒体文件,主要属性有:
(1)filename(待播放的文件名),可以在属性窗口中设置,也可以用代码实现。
(2)AutoStart(是否自动播放),默认是True。
(3)AutoRewind(是否自动循环),默认是False。
(4)PlayCount(文件播放遍数),默认是1。
8.7图象列表(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.8通用对话框控件
Windows应用程序里的Open对话框,SaveAs对话框在各个应用程序里看起来都是一样的,通用对话框控件就可以提供这些对话框的标准功能。
1.Open对话框及SaveAs对话框
打开Open对话框使用ShowOpen方法,打开SaveAs对话框使用ShowSave方法。
PrivateSubmnuOpen_Click()
OnErrorGoToErrorHandler
CommonDialog1.CancelError=True
CommonDialog1.Filter="TextFiles(.txt)|.txt|BatchFiles(.bat)|.bat|AllFiles(.)|."
CommonDialog1.ShowOpen.'显示打开对话框
CallOpenFile(CommonDialog1.FileName)
ErrorHandler:
ExitSub
EndSub
其中第三行决定了在文件格式类型栏里出现的文件类型。第五行需要一个自己的打开文件的过程,这个过程需要的参数就是通用对话框返回的文件名。通用对话框的CancelError属性设为True的话,用户单击Cancel按钮将产生一个错误信息程序,凭借这个信息程序可以检测到用户的放弃操作。
2.Color对话框
下面的过程可用用户选择的颜色作为窗体的底色。
PrivateSubmnuColor_Click()
OnErrorGoToCancelButton
CommonDialog1.CancelError=True
CommonDialog1.ShowColor
Form1.BackColor=CommonDialog1.Color
CancelButton:
ExitSub
EndSub
3.Fonts对话框
下面的过程可用字体对话框改变文本框的字体:
PrivateSubmnuFonts_Click()
OnErrorGoToCancelButton
CommonDialog1.CancelError=True
CommonDialog1.Flags=cdlCFBoth'FlagspropertymustbesettocdlCFBoth
CommonDialog1.ShowFont'DisplayFontcommondialogbox.
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:
ExitSub
EndSub
代码的第三行出现了通用对话框的Flags属性决定了通用对话框的一些可选项,不过即使不赋值给Flags,代码也一样会按缺省的情况去执行的。