Toolbar 应用实例 1:为 RTF 文本编辑器提供 OpenFile 按钮

利用 RichTextbox 控件,可以创建合并了 RTF 文本编辑器的应用程序,从而使最终用户不启动其它应用程序即可编辑文档。如果应用程序中包含了这样的编辑器,可以为最终用户提供一个工具栏,用来访问打开文件、改变字体特征等常用的操作。本应用程序只简单地在 Toolbar 控件中放置了一个 Button 对象。当用户单击该按钮时,将打开“打开文件”对话框。

该应用实例中使用了如下对象:

在应用程序中包含工具栏

  1. 设计时在 ImageList 控件中置入合适的图象。

  2. 将该 ImageList 控件与 Toolbar 控件相关联。

  3. 在设计时为该工具栏创建按钮。

  4. 创建“文件”菜单,并加入“打开”菜单项,命名为“mnuOpen”。
  5. 在 Form_Load 事件中,配置一个 CommonDialog 控件,用来打开 Rich Text Format(RTF)文件。
  6. 在 mnuOpen_Click 事件中,用 CommonDialog 控件打开文件。
  7. 在 Toolbar 控件的 Button_Click 事件中,在 Select Case 语句中处理 Key 属性,标识被单击的 Button 对象,并调用 mnuOpen_Click 事件。

向 ImageList 控件中置入合适的图象

在设计时,将需要放入 Toolbar 控件中的图象先放到 ImageList 控件中。这是很容易完成的。

在设计时置入 ImageList

  1. 用鼠标右键单击 ImageList 控件,然后单击“属性”以打开“属性页”对话框。

    - 或 -

  2. 单击 ImageList 控件,然后按 F4 键以得到“属性窗口”,双击“Custom”属性。

  3. 单击“图像”选项卡。

  4. 单击“插入图片”。在“选定图片”对话框中,找到希望出现在 Toolbar 控件中的图象。重复该操作,直到得到了所需的所有图象。(应用示例使用了名为“open.bmp”的位图)。

将 ImageList 控件与 Toolbar 控件相关联

在设计时,在置入 ImageList 控件之后,还必须将其与 Toolbar 控件相关联。

在设计时将 Imagelist 控件与 Toolbar 控件相关联

  1. 用鼠标右键单击 ImageList 控件,然后单击“属性”以打开“属性页”对话框。

    - 或 -

  2. 单击 ImageList 控件,然后按 F4 键以获得“属性窗口”,双击“Custom”属性。

  3. 在“通用”选项卡中,单击“图象列表”框,并选择刚才置入的 ImageList 控件。

在设计时为 Toolbar 创建按钮

在置入 ImageList 控件,并将其与 Toolbar 控件相关联之后,就可以开始创建 Button 对象本身了。在本应用实例中,我们将创建两个按钮,一个用 Placeholder 样式,另一个用 Default 样式。

在设计时向 Toolbar 控件中添加按钮

  1. 用鼠标右键单击 Toolbar 控件,然后单击“属性”。

  2. 在“属性页”对话框中,单击“按钮”选项卡。

  3. 单击“插入按钮”。

  4. 单击“样式”框,并选择“分隔符”。

  5. 再次单击“插入按钮”,样式将自动被设置为“缺省”。

  6. 在“关键字”框中,键入 openFile

  7. 在“描述”框中,键入 Open File

  8. 在“图象”框中键入 1

  9. 双击“确定”。

创建“文件”菜单,并加入“打开”菜单项,命名为“mnuOpen”

由于“Open File”操作通常通过菜单条调用,我们必须先创建菜单。

创建菜单

  1. 选中“frmRTF”窗体。

  2. 按 CTRL+E 以显示“菜单编辑器”对话框。

  3. 在“标题”框中,键入“文件”。

  4. 在“名称”框中,键入“mnuFile”。

  5. 单击“下一个”按钮。

  6. 在“标题”框中,键入“打开”。

  7. 在“名称”框中,键入“mnuOpen”。

  8. 单击向右的箭头,以缩进菜单项。

配置 CommonDialog 控件以打开 Rich Text Format(RTF)文件

使用 CommonDialog 控件创建“打开文件”对话框。这可以在 Form 对象的 Load 事件中完成,如下所示:

Private Sub Form_Load()
   '配置 dlgOpenFile ,用来打开和保存文件。
   With dlgOpenFile
      .DefaultExt = ".rtf"
      .Filter = "RTF 文件(*.RTF) | *.RTF"
   End With
End Sub

用 CommonDialog 控件打开文件

在当前的应用实例中,Toolbar 控件的一个按钮只代表一个常用的操作,即“打开文件”功能,在菜单条中也可以找到它。这样,“打开文件”操作的代码就应该放在 mnuOpen 对象的 Click 事件中,如下所示:

Private Sub mnuOpen_Click()
   '声明字符串变量以保存文件名。
   '调用 ShowOpen 方法以显示该对话框。
   '将变量设置为 Filename 属性。
   '最后,装载 RichTextBox 控件。
   Dim strOpen As String
   dlgOpenFile.ShowOpen
   strOpen = dlgOpenFile.Filename
   rtfData.LoadFile strOpen, rtfRTF
End Sub

使用带 Key 属性的 Select Case 语句,以标识被单击的 Button 对象并调用 mnuOpen_Click 事件

在单击 Toolbar 控件中的 Button 对象时,将产生 ButtonClick 事件。要确定单击了哪个 Button 对象,使用带 Key 属性或者带 Index 属性的 Select Case 语句。

下面的代码使用了 Button 对象的 Key 属性。

Private Sub tlbRTF_ButtonClick _
(ByVal Button As Button)
   Select Case Button.Key
   '用户单击了“open file”按钮。
   Case "openFile"
      mnuOpen_Click '调用 mnuOpen Click 事件
   End Select
End Sub

现在可以运行工程,并通过单击工具栏中的按钮打开一个 RTF 文件。