本应用实例建立在前一应用实例的基础上,在前一应用实例中,Toolbar 控件被用来打开文件,并将其装载到 RichTextBox 控件中。在本应用实例中,在 Toolbar 控件中加入三个按钮,它们分别带有左对齐、居中和右对齐图标。
这三个按钮都是“按钮组”(tbrButtonGroup)样式的一部分,该样式不允许三个按钮中的多个被同时按下。
重点 要指定哪些按钮是按钮组的一部分,必须用两个“分隔符”(tbrSeparator) 样式的按钮将它们“包围”起来。例如,如果在一组中有三个按钮,并且它们是第四到第六个按钮,那么第三个和第七个按钮必须是“分隔符”样式的,以便将该组按钮包围起来。
当用户在 RichTextBox 控件中单击时,将产生 SelChange 事件。在该事件中,代码检查 SelAlignment 属性,该属性返回了当前选定文本的对齐方式。根据该值按下 Toolbar 控件中适当的按钮。
详细信息 关于“按钮组”样式的详细信息,请参阅《语言参考》中的“Style 属性(Button 对象)”。
该应用实例中用到了如下对象:
创建用来设置文本对齐方式的工具栏
(下面仅描述较高层次的操作。更详细的信息,请参阅“使用 Toolbar 控件”。
如先前的 Toolbar 控件应用实例一样,必须首先将用于按钮组的合适图象插入 ImageList 控件中。
在设计时添加到 ImageList 控件中
图象 | Key |
Lft.bmp | “左” |
Cnt.bmp | “中间” |
Rt.bmp | “右” |
在设计时,可以使用 Toolbar 控件的“属性页”对话框创建 Button 对象。关于该操作的特定信息,请参阅“Toolbar 控件应用实例 1:为 RTF 文本编辑器提供 OpenFile 按钮”。
创建有三个按钮的组,实际上必须创建五个按钮。其中的三个按钮被两个“分隔符”样式的 Button 对象包围起来。这五个按钮的 Style、Key、ToolTipText 和 Image 属性应按下表设置:
Button | Style | Key | ToolTipText | Image |
1 | tbrSeparator | 〔无〕 | 〔无〕 | 〔无〕 |
2 | tbrButtonGroup | left | 左对齐 | 1 |
3 | tbrButtonGroup | center | 居中 | 2 |
4 | tbrButtonGroup | right | 右对齐 | 3 |
5 | tbrSeparator | 〔无〕 | 〔无〕 | 〔无〕 |
用户点击任何 Button 对象(Separator 或 Placeholder 样式的按钮除外)时,将会产生 ButtonClick 事件。使用带 Key 属性的 Select Case 语句,即可确定单击了哪个按钮,然后用 RichTextBox 控件的 SelAlignment 属性设置 RichTextBox 的对齐方式。在设置了对齐方式后,还要用 SetFocus 方法返回焦点到控件,代码如下:
Private Sub tlbRTF_ButtonClick(ByVal Button _ As Button) '
用Select Case
语句处理Key
属性,'
以确定单击了哪个按钮。Select Case Button.Key
Case "left"
rtfData.SelAlignment = rtfLeft
rtfData.SetFocus '
将焦点返回到RichTextBox.
Case "center"
rtfData.SelAlignment = rtfCenter
rtfData.SetFocus
Case "right"
rtfData.SelAlignment = rtfRight
rtfData.SetFocus
Case Else
'
在这里处理其它情况。End Select
End Sub
如果用户单击 RichTextBox 控件中的一行,Toolbar 按钮将反映出该行的对齐方式。这一点可以用 RichTextBox 控件的 SelChange 事件完成,如下面的代码所示。
Private Sub rtfData_SelChange() '
当插入点改变时,设置Toolbar
'
按钮以反映光标所在行的特性。Select Case rtfData.SelAlignment
Case rtfLeft ' 0
tlbRTF.Buttons("left").Value = tbrPressed
Case rtfRight ' 1
tlbRTF.Buttons("right").Value = tbrPressed
case Else 'Null
-没有按钮显示为压下状态。tlbRTF.Buttons("left").Value = tbrUnpressed
tlbRTF.Buttons("center").Value = tbrUnpressed
tlbRTF.Buttons("right").Value = tbrUnpressed
End Select
End Sub
现在可以运行该工程了。用“打开文件”按钮(在“Toolbar 应用实例 1:为 RTF 文本编辑器提供 OpenFile 按钮)打开文件。还可以单击三个成组的按钮,改变文本的对齐方式。