向工具栏添加新的工具栏按钮

AutoCAD ActiveX/VBA

 
向工具栏添加新的工具栏按钮
 
 
 

要向工具栏添加新的工具栏按钮,请使用 AddToolbarButton 方法。此方法将创建新的 ToolbarItem 对象并将其添加到指定的工具栏中。应该只在工具栏可见时向其中添加按钮。

AddToolbarButton 方法需要输入五个参数:IndexNameHelpStringMacroFlyoutButton

Index

Index 参数是一个整数,用于指定新工具栏项在工具栏内的位置。索引以位置零 (0) 作为工具栏标题后的第一个位置。要在工具栏末尾添加新的工具栏按钮,请将 Index 参数设置为等于工具栏的 Count 特性。(工具栏的 Count 特性代表该工具栏中工具栏按钮的总数。)

创建工具栏按钮之后,就不能再通过 Index 特性来更改按钮的索引。要更改现有工具栏按钮的索引,必须先删除该按钮,然后再将其重新添加到其他位置;或者是添加或删除其前后的按钮,最终达到正确位置。

Name

名称是标识工具栏按钮的字符串,该字符串必须由字母数字字符组成,不能包含划线 (-) 或下划线 (_)以外的标点。光标位于工具栏按钮上时,将显示该字符串,作为工具栏提示。

创建工具栏按钮之后,可以使用 Name 参数来更改按钮名称。

HelpString

帮助字符串是在用户亮显选定的菜单项时,显示在 AutoCAD 状态行中的字符串。

创建工具栏按钮之后,可以使用 HelpString 参数更改按钮的帮助字符串。

宏是在选择工具栏按钮时执行特定操作的一系列命令,可以只是完成任务的按键记录,也可以是复杂的命令、AutoLISP、DIESEL 或 ActiveX 编程代码等的组合。

创建工具栏按钮之后,可以使用 Macro 参数更改按钮的宏。

FlyoutButton

FlyoutButton 参数是一个可选标志,用于声明新按钮是否是弹出按钮。要使新按钮成为弹出按钮,此参数必须设置为 TRUE。如果新按钮不是弹出按钮,则可以将此参数设置为 FALSE 或忽略此参数。

向新工具栏添加按钮

本例创建一个新的工具栏,在其中添加按钮。将为该按钮指定宏,该宏将在选择该按钮时执行 OPEN 命令。

Sub Ch6_AddButton()
    Dim currMenuGroup As AcadMenuGroup
    Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0)
      
    ' 创建新工具栏
    Dim newToolbar As AcadToolbar
    Set newToolbar = currMenuGroup.Toolbars.Add("TestToolbar")
      
    ' 向新工具栏添加按钮
    Dim newButton As AcadToolbarItem
    Dim openMacro As String
      
    ' 给宏指定“ESC ESC _open”的 VB 等价值
    openMacro = Chr(3) + Chr(3) + "_open "
    Set newButton = newToolbar.AddToolbarButton _
                   ("", "NewButton", "Open a file.", openMacro)
End Sub