TabStrip
TabStrip 控件就象笔记本的书签或者一组文件夹的标签一样。通过使用 TabStrip
控件,可以在应用程序中为某个窗口或者对话框的相同区域定义多个页面。
语法:TabStrip
说明:
该控件由 Tabs 集合中的一个或者更多个 Tab 对象组成。在设计时和运行时,都可以通过设置该控件的属性影响 Tab 对象外观。也可以在设计时用
TabStrip 控件的属性页来添加或删除选项卡,要是在运行时用方法来添加或删除 Tab 对象。
但它不是容器控件,使用不太方便。参阅SSTab控件。
Style 属性决定了 TabStrip 控件看起来是象下压按钮还是象笔记本标签 。在设计时将一个 TabStrip
控件放在某个窗体上时,它就有了一个笔记本标签。如果 Style 属性被设置为 tabTabs,那么 TabStrip 控件的内部区域周围将有一个边框。当
Style 属性被设置为 tabButtons 时,控件的内部区域周围不显示边框,不过,那个区域仍然存在。
要设置 TabStrip 控件的整体大小,用其拖动句柄或者设置其 Top、Left、Height 和 Width 属性。运行时根据该控件的整体大小,Visual
Basic 自动决定内部区域的大小和位置并返回 Client-coordinate 属性— ClientLeft、ClientTop、ClientHeight
和 ClientWidth。MultiRow 属性决定了该控件能否具有多于一行的选项卡,TabWidthStyle 属性决定了每一行的外观,还有,如果
TabWidthStyle 属性被设置为 tabFixed,则可以用 TabFixedHeight 和 TabFixedWidth 属性来给 TabStrip
控件中的所有选项卡设置相同的高度和宽度。
TabStrip 控件不是容器。要想包含实际页面和它们的对象,必须用 Frame 控件或者其它容器,它们的大小必须与控件中所有 Tab
对象共享的内部区域匹配。如果针对该容器使用了一个控件数组,则可以使特定的 Tab 对象与数组中的每一项相关联,请看下例:
Option Explicit
Private mintCurFrame As Integer' Current Frame visible
Private Sub Tabstrip1_Click()
If Tabstrip1.SelectedItem.Index = mintCurFrame _
Then Exit Sub ' No need to change frame.
' Otherwise, hide old frame, show new.
Frame1(Tabstrip1.SelectedItem.Index).Visible = True
Frame1(mintCurFrame).Visible = False
' Set mintCurFrame to new value.
mintCurFrame = Tabstrip1.SelectedItem.Index
End Sub
注意 在容器上将控件分组时,必须使用上述显示/隐藏策略,而不使用 Zorder Method 将框架带到全面来。否则,实现访问键(ALT +
访问键)的控件将一直响应键盘命令,甚至当容器不是最顶端的控件时也如此。还要注意,必须将每个组放在它自己的容器中,以此将 OptionButton
控件的组分离开,否则,窗体上的所有 OptionButtons 将象一大组 OptionButtons。
提示 使用 BorderStyle 属性为 None 的 Frame 控件作为容器来取代 PictureBox 控件。Frame 控件比起 PictureBox
控件来说所花费的开销少。
TabStrip 控件的 Tabs 属性是所有 Tab 对象的集合。每个 Tab 对象都具有与其当前状态和外观相关联的属性。例如,可以使 ImageList
控件与 TabStrip 控件相关联,然后就可以在单个选项卡上使用图象了。也可以使工具提示与每个 Tab 对象相关联。
发行注意 TabStrip 控件是一组自定义控件的一部分,这组自定义控件可以在文件 MSCOMCTL.OCX 中找到。为了在应用程序中使用 TabStrip
控件,必须将文件 MSCOMCTL.OCX 添加到工程中去。当发布应用程序时,要把文件 MSCOMCTL.OCX 安装到用户的 Microsoft
Windows SYSTEM 目录下。
RptTextBox
数据报表设计器的TextBox控件是一个数据绑定控件,它只能在运行时显示数据库的文本。
语法:RptTextBox
数据报表设计器的TextBox控件不能显示设计时用户输入的信息,并且,它不能在运行时用于数据输入。
Toolbar
Toolbar 控件包含一个 Button 对象集合,该对象被用来创建与应用程序相关联的工具栏。
语法:Toolbar
说明:
一般来说,工具栏包含一些按钮,这些按钮与应用程序菜单中各项的按钮对应,工具栏为用户访问应用程序的最常用功能和命令提供了图形接口。
有了 Toolbar 控件,就可以通过将 Button 对象添加到 Buttons 集合中来创建工具栏。每个 Button
对象都可有可选的文本或一幅图象,或者兼而有之,这些都是由相关联的 ImageList 控件提供的。可在一个按钮上用 Image 属性为每个 Button
对象加一幅图象,或用 Caption 属性显示文本,或者二者兼而有之。在设计时可用 Toolbar 控件的属性页将 Button 对象添加到控件中。在运行时可用
Add 和 Remove 方法添加按钮或从 Buttons 集合中删除按钮。
为了给 Toolbar 编程,将代码添加到 ButtonClick 事件中,以便对已选定的按钮作出反应。也可用 Style 属性确定每个 Button
对象的状态和外观。例如,如果已对四个按钮赋以 ButtonGroup 样式,则在任何时候只能按下一个按钮,而且至少总有一个按钮已被按下。
可对 Button 对象赋以 PlaceHolder
样式,然后将控件定位在定位符的上方,从而在工具栏上为其它控件创建空间。例如,在设计时,为将下拉组合框放置在工具栏上,用 PlaceHolder 样式添加一个
Button 对象,并调整其大小使之与 ComboBox 控件一样宽。然后将 ComboBox 控件放置在定位符上。
在运行时双击工具栏后就会调用“自定义工具栏”对话框,有了这个对话框,用户就可隐藏、显示或重新安排工具栏按钮。可用 AllowCustomize
属性来允许或禁用对话框。也可用 Customize
方法调用“自定义工具栏”对话框。如果希望保存或恢复工具栏的状态,或者允许用户这样做,则有两种方法可供使用:SaveToolbar 和
RestoreToolbar 方法。在改动工具栏时产生的 Change 事件一般被用来调用 SaveToolbar 方法。
注意 自定义的对话框也包含帮助按钮。当终端用户单击帮助按钮时,使用 HelpFile 和 HelpContextID 属性来决定显示哪个帮助文件。
通过对每个 Button 对象的 ToolTipText 描述进行编程可进一步增强可用性。为显示工具提示,必须将 ShowTips 属性设置为
True。当用户调用“自定义工具栏”对话框时,单击按钮就会导致在对话框中显示按钮的描述;这种描述可通过设置 Description 属性来编程实现。
发行注意 Toolbar 控件是一组ActiveX 控件的一部分,这组自定义控件可在文件 MSCOMCTL.OCX 中找到。为在应用程序中使用 Toolbar
控件,必须将文件 MSCOMCTL.OCX 添加到工程中。在发行应用程序时,应将文件 MSCOMCTL.OCX 安装到用户的 Microsoft Windows
的SYSTEM 或 System32 ( Windows NT 平台上)的文件夹。
例:该示例用 Add 方法将 Button 对象添加到 Toolbar 控件中去,并分配 ImageList 控件所提供的图象。每个按钮的状态都由 Style
属性决定。下述代码创建了能够用来打开和保存文件的按钮,并包含了一个用来改变窗体背景的 ComboBox 控件。要试用此例,将 Toolbar
控件,ImageList 控件和 ComboBox 控件放置到窗体上,并把代码粘贴到窗体的声明部分。要确保将 ComboBox 直接插入到 Toolbar
控件上。运行此例,单击不同按钮并从组合框中进行选择。
Private Sub Form_Load()
'为 ImageList 创建对象变量。
Dim imgX As ListImage
'将图片加载到 ImageList 控件中。
Set imgX = ImageList1.ListImages. _
Add(, "open", LoadPicture("Graphics\bitmaps\tlbr_w95\open.bmp"))
Set imgX = ImageList1.ListImages. _
Add(, "save", LoadPicture("Graphics\bitmaps\tlbr_w95\save.bmp"))
Toolbar1.ImageList = ImageList1
'为 Toolbar 创建对象变量。
Dim btnX As Button
'用 Add 方法将按钮对象添加到 Buttons 集合中。创建
'每个按钮后,设置 Description 和 ToolTipText 属性。
Toolbar1.Buttons.Add , , , tbrSeparator
Set btnX = Toolbar1.Buttons.Add(, "open", , tbrDefault, "open")
btnX.ToolTipText = "Open File"
btnX.Description = btnX.ToolTipText
Set btnX = Toolbar1.Buttons.Add(, "save", , tbrDefault, "save")
btnX.ToolTipText = "Save File"
btnX.Description = btnX.ToolTipText
Set btnX = Toolbar1.Buttons.Add(, , , tbrSeparator)
'下一个按钮具有 Placeholder 属性。ComboBox 控件
'将被放置在按钮的上方。
Set btnX = Toolbar1.Buttons.Add(, "combo1", , tbrPlaceholder)
btnX.Width = 1500 '容纳一个 combobox 的占位符宽度。
Show '显示窗体以继续配置 ComboBox。
'配置 ComboBox 控件,使其跟具有 PlaceHolder 样式
'(key = "combo1") 的 Button 对象在相同位置。
With Combo1
.Width = Toolbar1.Buttons("combo1").Width
.Top = Toolbar1.Buttons("combo1").Top
.Left = Toolbar1.Buttons("combo1").Left
.AddItem "Black" '为文本添加颜色。
.AddItem "Blue"
.AddItem "Red"
.ListIndex = 0
End With
End Sub
Private Sub Form_Resize()
'配置 ComboBox 控件。
With Combo1
.Width = Toolbar1.Buttons("combo1").Width
.Top = Toolbar1.Buttons("combo1").Top
.Left = Toolbar1.Buttons("combo1").Left
End With
End Sub
Private Sub toolbar1_ButtonClick(ByVal Button As Button)
'用 Key 属性和 SelectCase 语句来指定一个动作。
Select Case Button.Key
Case Is = "open" '打开文件。
MsgBox "Add code to open file here!"
Case Is = "save" '保存文件。
MsgBox "Add code to save file here!"
End Select
End Sub
Private Sub Combo1_Click()
'用 ComboBox 改变窗体的背景。
Select Case Combo1.ListIndex
Case 0
Form1.BackColor = vbBlack
Case 1
Form1.BackColor = vbBlue
Case 2
Form1.BackColor = vbRed
End Select
End Sub
TreeView
TreeView 控件显示 Node 对象的分层列表,每个 Node 对象均由一个标签和一个可选位图组成。TreeView
一般用于显示文档标题、索引入口、磁盘上的文件和目录、或能被有效地分层显示的其它种类信息。
语法:Treeview
说明:
创建了 TreeView 控件之后,可以通过设置属性与调用方法对各 Node 对象进行操作,这些操作包括添加、删除、对齐和其它操作。可以编程展开与折回 Node
对象来显示或隐藏所有子节点。Collapse、Expand 和 NodeClick 三个事件也提供编程功能。
Node 对象使用 Root、Parent、Child、FirstSibling、Next、Previous 和 LastSibling
属性。在代码中可通过检索对 Node 对象的引用,从而在树上定位。也可以使用键盘定位。UP ARROW 键和 DOWN ARROW 键向下循环穿过所有展开的
Node 对象。从左到右、从上到下地选择 Node 对象。若在树的底部,选择便跳回树的顶部,必要时滚动窗口。RIGHT ARROW 键和 LEFT ARROW
键也穿过所有展开的 Node 对象,但是如果选择了未展开的 Node之后再按 RIGHT ARROW 键,该 Node 便展开;第二次按该键,选择将移向下一个
Node。相反,若扩展的 Node 有焦点,这时再按 LEFT ARROW 键,该 Node 便折回。如果按下 ANSI 字符集
中的键,焦点将跳转至以那个字母开头的最近的 Node。后续的按该键的动作将使选择向下循环,穿过以那个字母开头的所有展开节点。
控件的外观有八种可用的替换样式,它们是文本、位图、直线和 +/- 号的组合,Node 对象可以任一种组合出现。
TreeView 控件使用由 ImageList 属性指定的 ImageList 控件,来存储显示于 Node 对象的位图和图标。任何时刻,TreeView
控件只能使用一个 ImageList。这意味着,当 TreeView 控件的 Style 属性被设置成显示图像的样式时,TreeView
控件中每一项的旁边都有一个同样大小的图像。
发行注意 TreeView 控件是 MSCOMCTL.OCX 文件中的一组 ActiveX 控件的一部分。为了在应用程序中使用 TreeView 控件,必须将
MSCOMCTL.OCX 文件添加到工程中。在发行应用程序时,要在用户的 Microsoft Windows System 或 System32 目录中安装
MSCOMCTL.OCX 文件。
TextBox:
TextBox 控件有时也称作编辑字段或者编辑控件,显示设计时输入的用户输入的、或运行时在代码中赋予控件的信息。
语法:TextBox
说明:
为了在 TextBox 控件中显示多行文本,要将 MultiLine 属性设置为 True。如果多行 TextBox 没有水平滚动条,那么即使 TextBox
调整了大小,文本也会自动换行。为了在 TextBox 上定制滚动条组合,需要设置 ScrollBars 属性。
如果文本框的 MultiLine 属性设置为 True 而且它的 ScrollBars 没有设置为 None (0),则滚动条总出现在文本框上。
如果将 MultiLine 属性设置为 True,则可以在 TextBox 内用 Alignment 属性设置文本的对齐。如果 MultiLine 属性是
False,则 Alignment 属性不起作用。
在 DDE 对话中,TextBox 控件还可以起接收端链接的作用。
RptTextBox:
数据报表设计器的TextBox控件是一个数据绑定控件,它只能在运行时显示数据库的文本。
语法:RptTextBox
数据报表设计器的TextBox控件不能显示设计时用户输入的信息,并且,它不能在运行时用于数据输入。
Timer:
通过引发 Timer 事件,Timer 控件可以有规律地隔一段时间执行一次代码。
语法:Timer
说明:
Timer 控件用于背景进程中,它是不可见的。
对于 Timer 控件以外的其它控件的多重选择,不能设置 Timer 的 Enabled 属性。
在运行于 Windows 95 或 Windows NT 下的 Visual Basic 5.0 中可以有多个活动的定时器控件,对此,实际上并没有什么限制。
|