创建弹出工具栏

AutoCAD ActiveX/VBA

 
创建弹出工具栏
 
 
 

要向工具栏添加弹出工具栏按钮,请使用 AddToolbarButton 方法。此方法将创建新的 ToolbarItem 对象并将其添加到指定的工具栏中。

AddToolbarButton 方法需要输入五个参数:IndexNameHelpStringMacroFlyoutButton。将参数 FlyoutButton 设置为 TRUE 时,创建的新按钮即为弹出按钮。此方法的返回值将是新的弹出工具栏。该弹出工具栏可以被填充,从而成为普通工具栏。

关于如何填充工具栏的详细信息,请参见向工具栏添加新的工具栏按钮

创建弹出工具栏按钮

本例创建两个工具栏:第一个工具栏包含一个弹出按钮,第二个工具栏被附着到第一个工具栏的弹出按钮上。

Sub Ch6_AddFlyoutButton()
    Dim currMenuGroup As AcadMenuGroup
    Set currMenuGroup = ThisDrawing.Application. _
                                 MenuGroups.Item(0)
      
    ' 创建第一个工具栏
    Dim FirstToolbar As AcadToolbar
    Set FirstToolbar = currMenuGroup.Toolbars. _
                                Add("FirstToolbar")
      
    ' 向菜单栏上的第一个菜单添加弹出按钮
    Dim FlyoutButton As AcadToolbarItem
    Set FlyoutButton = FirstToolbar.AddToolbarButton _
            ("", "Flyout", "Demonstrates a flyout button", _
             "OPEN", True)
      
    ' 创建第二个工具栏。该工具栏将通过弹出按钮附加到
    ' 第一个工具栏。
    Dim SecondToolbar As AcadToolbar
    Set SecondToolbar = currMenuGroup.Toolbars. _
            Add("SecondToolbar")
      
    ' 向下一个工具栏添加按钮
    Dim newButton As AcadToolbarItem
    Dim openMacro As String
      
    ' 给宏指定“ESC ESC _open”的 VB 等价值
    openMacro = Chr(3) + Chr(3) + "_open "
    Set newButton = SecondToolbar.AddToolbarButton _
            ("", "NewButton", "Open a file.", openMacro)
      
    ' 将第二个工具栏附着到第一个工具栏
    ' 的弹出按钮上
    FlyoutButton.AttachToolbarToFlyout currMenuGroup.Name, _
            SecondToolbar.Name
      
    ' 显示第一个工具栏,隐藏第二个工具栏
    FirstToolbar.Visible = True
    SecondToolbar.Visible = False
End Sub