c++篇 cad.arx配置5.加入命令
现在我们需要忘记工具条添加命令的a>方法,因为在高版本的vs上面这个方法已经失效了....
干净的命令存放区
现在利用 acrxEntryPoint.cpp 的 On_kInitAppMsg 和 On_kUnloadAppMsg 两个函数添加命令和卸载命令,方便卸载的时候移除命令.
CString _CommandGroup = "JJBoxArx"; //自动执行的命令 virtual AcRx::AppRetCode On_kInitAppMsg(void *pkt) { AcRx::AppRetCode retCode = AcRxArxApp::On_kInitAppMsg(pkt); //添加命令
acedRegCmds->addCommand(szRDS, _T("_jjarx_ss"), _T("jjarx_ss"), ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET | ACRX_CMD_REDRAW, CJJBoxUtils::jjarx_hatch);
acedRegCmds->addCommand(szRDS, _T("_jjarx_ss2"), _T("jjarx_ss2"), ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET | ACRX_CMD_REDRAW, jjarx_hatch2);
return (retCode);
}
//卸载的时候执行 virtual AcRx::AppRetCode On_kUnloadAppMsg(void *pkt) { AcRx::AppRetCode retCode = AcRxArxApp::On_kUnloadAppMsg(pkt); //移除这个组的所有命令 acedRegCmds->removeGroup(_CommandGroup); return (retCode); } //寄存服务器组件 virtual void RegisterServerComponents() { }
为了让acrxEntryPoint.cpp更单纯的存放命令,所以下面有三种方式写命令.
第一种:类实现
在项目使用鼠标右键弹出类向导:
CJJBoxUtils::jjarx_hatch 的实现
.h文件
.cpp文件
第二种:全局函数
jjarx_hatch2 的实现:
新建一个cpp文件,写别的地方去.
两种方法都很有趣...
第三种:命名空间法
当然是最后一种好用啦,嘻嘻.