创建弹出工具栏
From AutoCAD ActiveX/VBA
要向工具栏添加弹出工具栏按钮,请使用 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 AcadToolbarSet FirstToolbar = currMenuGroup.Toolbars. _Add("FirstToolbar")' 向菜单栏上的第一个菜单添加弹出按钮Dim FlyoutButton As AcadToolbarItemSet FlyoutButton = FirstToolbar.AddToolbarButton _("", "Flyout", "Demonstrates a flyout button", _"OPEN", True)' 创建第二个工具栏。该工具栏将通过弹出按钮附加到' 第一个工具栏。Dim SecondToolbar As AcadToolbarSet SecondToolbar = currMenuGroup.Toolbars. _Add("SecondToolbar")' 向下一个工具栏添加按钮Dim newButton As AcadToolbarItemDim 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 = TrueSecondToolbar.Visible = FalseEnd Sub