找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 846|回复: 0

[求助] ARX给命令定义快捷键

[复制链接]
发表于 2017-11-15 11:23:29 | 显示全部楼层 |阅读模式

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

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

×
        其中已定义LSP里已经(defun C:ABCD()    ...)
        想用ARX实现(defun C:A()  (C:ABCD)),谁会,请教教我。
       目前我采用的方法
1、    AcEdCommand * cmd = acedRegCmds->lookupGlobalCmd(_T(“C:ABCD”));
           acedRegCmds->addCommand(_T(“MYGroup”),
                _T("A"),  _T("A"), cmd->commandFlags(), cmd->functionAddr());
       这个方法不行,命令是ARX命令时才行。
2、 acedRegCmds->addCommand(_T(“MYGroup”),
                _T("A"),  _T("A"), ACRX_CMD_MODAL, acedInvokeLsp);

void acedInvokeLsp ()
{

    struct resbuf *result = NULL, *list;
    list = acutBuildList(RTSTR, _T(“C:ABCD”), RTNONE);
    if (list != NULL)
    {
        int stat = acedInvoke(list, &result);
        acutRelRb(list);
    }
    if (result != NULL)
    {
        // Do somthing
        acutRelRb(result);
    }
}
这个方法能调用A,但是参数不能用cmd->commandFlags(),当有命令可以先选择后执行时,A命令不能先选择后执行。
达不到(defun C:A()  (C:ABCD))的效果。
哪位大神知道如何定义,望赐教。

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

本版积分规则

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

GMT+8, 2024-9-24 20:34 , Processed in 0.391394 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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