王咣生 发表于 2004-10-28 20:37:00

如何放弃命令?

void AsdkCommandReactor::commandWillStart(const char* cmdStr)<BR>{<BR>        acedAlert(cmdStr);<BR>}


用命令反应器捕捉到命令后,如何禁止(放弃)该命令的执行? 或者不向CommandLine窗口发送该命令字符串?


如我点击"New" (_QNEW) , 会打开新建立文件对话框, 我怎么不让AutoCAD响应QNEW命令, 但又能捕捉到该命令?


easypower 发表于 2004-10-29 08:38:00

关注,过后研究一下,现在忙

easypower 发表于 2004-10-29 11:29:00

可以监控到ACAD具体执行了什么命令么?

zfbj 发表于 2004-10-29 11:34:00

就是使用acedPostCommand("CANCELCMD")


不过对于那些能弹出对话框的命令不太好用。

王咣生 发表于 2004-10-29 11:39:00

AcEditorReactor::commandWillStart(const char * cmdStr);可以Trap命令名,



试过acedPostCommand("CANCELCMD"), 是对像QNEW之类命令不起使用.


怎么禁止向Command Line窗口发送字符串?

easypower 发表于 2004-10-29 14:22:00

AcApDocument* pAcTargetDocument = NULL;<BR>        pAcTargetDocument = acDocManager-&gt;curDocument();


        acDocManager-&gt;activateDocument(pAcTargetDocument);<BR>        char cmd = {char(27),char(0)}; //"*ESC*",\0<BR>        acDocManager-&gt;sendStringToExecute(pAcTargetDocument,cmd,false);

easypower 发表于 2004-10-29 14:45:00

有没有办法直接结束?而不用发送什么结束???


或者用我自己的命令替换ACAD的命令??

王咣生 发表于 2004-10-29 22:17:00

回复

本帖最后由 作者 于 2004-11-11 0:14:38 编辑

6楼的方法对'新建'(QNEW)还是不起作用啊!
页: [1]
查看完整版本: 如何放弃命令?