CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2019 开发者帮助

命令堆栈

2024-5-18 17:56| 发布者: admin| 查看: 10| 评论: 0|原作者: admin|来自: AutoCAD

命令堆栈

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);
cmdGroup名称

要将命令添加到的组的 ASCII 表示形式。如果该组不存在,则在添加命令之前创建该组。

cmdGlobal名称

要添加的命令名称的 ASCII 表示形式。此名称表示全局名称或未翻译的名称(请参阅“全局命令名称与本地命令名称”)。

cmdLocalName

要添加的命令名称的 ASCII 表示形式。此名称表示本地名称或已翻译的名称。

命令标志

与命令关联的标志。可能的值为 ACRX_CMD_TRANSPARENT、ACRX_CMD_MODAL、ACRX_CMD_USEPICKSET 和 ACRX_CMD_REDRAW(请参阅“透明命令与模态命令”)。

函数Addr

AutoCAD调用此命令时要执行的函数的地址。

UiContext的

指向回调类的输入指针。AcEdUIContext

fcode(代码)

输入分配给命令的整数代码。

hResourceHandle

执行命令时要使输入资源句柄成为当前句柄

cmdPtrRet

输入指针到要用要添加的命令的 AcEdCommand 对象的地址填充的指针

注意:建议所有组名和命令名称都带有前缀,以避免与其他加载的应用程序发生可能的命名冲突。您选择的前缀可能是公司名称的缩写,也可以是另一个短名称,以帮助唯一地识别应用程序注册的组和命令与其他应用程序注册的组和命令。例如,可以将 ADSK 的前缀添加到 MOVE 命令版本中,从而获得 ASDKMOVE 的最终名称。

父主题:

  1. 注册新命令

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-6-27 16:11

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部