命令堆栈
AutoCAD 命令以组的形式存储在命令堆栈中,该堆栈由类定义。每个 AutoCAD 任务将创建一个命令堆栈实例。此堆栈由您定义的自定义命令组成。该宏允许您访问命令堆栈。AcEdCommandStackacedRegCmds() 添加命令时,还会为其分配组名。一个好的策略是将已注册的开发人员前缀作为组名称,以避免名称与其他命令发生冲突。给定组中的命令名称必须是唯一的,并且组名称必须是唯一的。但是,多个应用程序可以添加同名的命令,因为组名称使命令明确无误。 通常使用函数一次添加一个命令,并使用函数按组删除命令。您还可以使用该函数一次删除一个命令。作为退出前清理的一部分,应用程序需要删除它注册的任何命令。AcEdCommandStack::addCommand()removeGroup()removeCmd() 该函数的签名是addCommand() Acad::ErrorStatus addCommand( const char* cmdGroupName, const char* cmdGlobalName, const char* cmdLocalName, Adesk::Int32 commandFlags, AcRxFunctionPtr functionAddr, AcEdUIContext *UIContext = NULL, int fcode=-1, HINSTANCE hResourceHandle = NULL, AcEdCommand** cmdPtrRet = NULL);
注意:建议所有组名和命令名称都带有前缀,以避免与其他加载的应用程序发生可能的命名冲突。您选择的前缀可能是公司名称的缩写,也可以是另一个短名称,以帮助唯一地识别应用程序注册的组和命令与其他应用程序注册的组和命令。例如,可以将 ADSK 的前缀添加到 MOVE 命令版本中,从而获得 ASDKMOVE 的最终名称。
父主题: |
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-5-13 10:43
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.