可以使用 CUI 托管 API 访问 CUIx 文件的用户界面和工作空间数据。
CUI 托管 API 中有两个特定对象用于访问 CUIx 文件的自定义部分:and。对象包含用于操作 AutoCAD 图形环境的菜单和界面数据,而对象用于控制用户界面中元素的显示。工作空间信息可以存储在任何 CUIx 文件中,但只能从作为主自定义文件或企业自定义文件加载的 CUIx 文件访问。MenuGroupWorkspacesMenuGroupWorkspaces
菜单组集合对象
各个元素(例如工具栏、弹出菜单和快捷方式)可以通过集合对象下的集合进行访问。集合没有公共构造函数,并在自定义节构造函数中分析 CUIx 文件时初始化。MenuGroup
以下对象是集合对象的一部分:MenuGroup
- AcceleratorCollection- 可以按下以启动操作的快捷键组合
- PanelSet- 用于在功能区上显示和组织面板的选项卡
- DigitizerButtonGroupCollection- 用于数字化仪/平板电脑的旧版可自定义按钮定义
- DoubleClickCollection- 在绘图区域中双击对象时执行的操作
- ImageMenuCollection- 可以显示的旧图像标题菜单
- LspFileCollection- 将 CUIx 文件加载到 AutoCAD 图形环境中时加载的 AutoLISP (LSP) 文件
- MouseButtonGroupCollection- 鼠标上的可自定义按钮
- PopMenuCollection- 弹出(下拉和快捷方式)菜单,可以在菜单栏上显示,或者当用户在绘图区域中右键单击时显示
- QuickAccessToolbarCollection- 可以在功能区上方或下方显示的工具栏
- ObjectTypeCollection- 控制在“快捷特性”选项板或鼠标悬停工具提示上显示哪些对象类型和特性的设置
- RibbonRoot- 丝带的顶层
- ScreenMenuCollection- 可以在屏幕菜单界面中显示的旧屏幕菜单
- TabletMenuCollection- 可用于配置数字化仪/平板电脑的传统平板电脑菜单
- TemporaryOverrideCollection- 可以按住的组合键,以暂时覆盖一个或多个绘图或应用程序设置
- ToolbarCollection- 经典工具栏,可以沿着AutoCAD应用程序窗口的边缘显示和停靠
- ToolPanelCollection- 用于在功能区选项卡上组织和显示工具的面板
工作区对象
自定义部分包含工作区的集合,可以通过索引条目或使用该方法指定工作区名称来访问这些工作区。工作区由快速访问工具栏、经典工具栏、弹出菜单、可停靠窗口以及功能区选项卡和面板组成,这些选项卡和面板使用以下对象和集合进行组织:IndexOfWorkspaceName()
- WorkspaceQuickAccessToolbar
- WorkspaceToolbarCollection
- WorkspacePopMenuCollection
- WorkspaceDockableWindowCollection
- WSRibbonRoot
可以使用下列方法之一引用工作区中的元素:
- FindDockableWindow()- 根据提供的名称返回可停靠窗口 () 对象WorkspaceDockableWindow
- FindWorkspacePopMenu()- 根据提供的元素和菜单组名称返回弹出菜单 () 对象WorkspacePopMenu
- FindWorkspaceToolbar()- 根据提供的工具栏和菜单组名称返回经典工具栏 () 对象WorkspaceToolbar
- FindPanelSource()- 根据提供的自定义部分返回功能区面板源 () 对象RibbonPanelSource
- FindTabReference()- 根据提供的菜单组名称和 ID 返回功能区选项卡引用 () 对象WSRibbonTabSourceReference
- FindTabReference()- 根据提供的自定义部分返回功能区选项卡源 () 对象RibbonTabSource
- 向工作区添加元素
-
在主 CUIx 文件中创建的工具栏、弹出菜单和功能区选项卡需要添加到工作空间中,然后才能显示在 AutoCAD 用户界面中。添加到工作区中已显示的工具栏、弹出菜单或功能区面板的新元素将在重新加载该工作区时自动显示。
以下代码演示如何向工作区添加工具栏:
- VB.NET
-
Dim someToolbar As Toolbar = CustomizationSection.MenuGroup.Toolbars(4)
Dim wkToolbar As WorkspaceToolbar = New WorkspaceToolbar(parentWorksapce, someToolbar)
- C#
-
Toolbar someToolbar = CustomizationSection.MenuGroup.Toolbars[4];
WorkspaceToolbar wkToolbar = new WorkspaceToolbar(parentWorksapce, someToolbar);
将工具栏的属性设置为 True(或 1)以在工作区中显示它。Display
- 工作区中的可停靠窗口
-
可从中访问可停靠窗口的集合。使用属性停靠或浮动窗口。CustomizationSection.Workspaces.DockableWindowsDockFloatOrientation
对工作区的更改只有在应用程序中重新加载工作区后才会生效。重新启动应用程序不会重新加载工作区。这必须使用 WSCURRENT 系统变量或通过从状态栏上的“工作区切换”图标重新选择工作区来完成。
|