要向工具栏添加弹出工具栏按钮,请使用 AddToolbarButton 方法。此方法将创建新的 ToolbarItem 对象并将其添加到指定的工具栏中。
AddToolbarButton 方法需要输入五个参数:Index、Name、HelpString、Macro 和 FlyoutButton。将参数 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