找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 767|回复: 5

[求助]:我想用自己写的Move命令取代ACAD的Move命令,怎么做?

[复制链接]
发表于 2004-10-29 16:34:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我想用自己写的Move命令取代ACAD的Move命令,怎么做?
有两个办法:
1。使用

AcEdCommandStack::removeCmd Function virtual Acad::ErrorStatus

removeCmd(

const char* cmdGroupName,

const char* cmdGlobalName) = 0;
注销MOVE命令,但是其中的参数具体是什么,谁能告诉我????
我用AcEdCommandIterator找不到"MOVE"命令,
代码如下:

  1.   [FONT=courier new]
  2. AcEdCommandIterator* iter = acedRegCmds->iterator();
  3.                 if (iter == NULL)
  4.                 {
  5.                         ASSERT(0);
  6.                         return;
  7.                 }
  8.                 // walk through the command stack and make a map of
  9.                 // command group to command.
  10.                 AcDbVoidPtrArray* tmpVoidPtrArray;
  11.                 for (; !iter->done(); iter->next())
  12.                 {
  13.                         AcEdCommand *pcommand = const_cast<AcEdCommand*>(iter->command());
  14.                         acutPrintf("Command LocalName:%s     Command GlobalName:%s\n",
  15.                                 pcommand->localName(),pcommand->globalName());
  16.                         if(0 == strcmp(pcommand->localName(),"move"))
  17.                         {
  18.                                 acutPrintf("LocalName.\n");
  19.                                 acutPrintf("GroupName:%s",iter->commandGroup());
  20.                         }
  21.                         if(0 == strcmp(pcommand->globalName(),"_move"))
  22.                         {
  23.                                 acutPrintf("GlobalName.\n");
  24.                                 acutPrintf("GroupName:%s",iter->commandGroup());
  25.                         }
  26.                 }
  27.                 delete iter;
  28.   [/FONT]
复制代码


2。使用AcEditorReactor::commandWillStartFunction
virtual void    commandWillStart(const char* cmdStr);
但是要终止原来MOVE命令如何做?
我发送ESC可以做到,但是在命令行出现"*ESC*"字样,不好,请问有好的办法么?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-10-29 18:45:43 | 显示全部楼层
用undefine取消cad的命令,自己注册一个同名的命令就可以了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-10-30 08:18:03 | 显示全部楼层
2楼的方法取消不掉MOVE命令呀
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-30 13:55:15 | 显示全部楼层
可以的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-15 21:01:42 | 显示全部楼层
小家伙在这里乱说搞么子罗,

二楼的是正确的呢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-16 08:46:44 | 显示全部楼层
用acedRegCmds->popGroupToTop()把你的命令组设置为首先查找的对象
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-22 06:51 , Processed in 0.377937 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表