- UID
- 15750
- 积分
- 69
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-11-17
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
ARX教程示例!内有本人添加的注释:下面为教程的部分代码!
#include <aced.h>
#include <rxregsvc.h>
void initApp(void);
void unloadApp(void);
void helloWorld(void);
void initApp(void)
{
// 注册AutoCAD命令
acedRegCmds->addCommand("HELLOWORLD_COMMANDS",//命令组名
"Hello",//全局命令名
"Bonjour",//本地命令名
ACRX_CMD_MODAL,//命令模式
helloWorld);//命令名对应函数
acutPrintf("%s%s", "Inside InitApp - ", "Registering commands with acedRegCmds\n");
acutPrintf("Enter \"HELLO\" at the command prompt to execute.\n");
}
void unloadApp(void)
{
acedRegCmds->removeGroup("HELLOWORLD_COMMANDS");//卸载arx程序
acutPrintf("%s%s", "Goodbye\n", "Removing command group \"HELLO_COMMANDS\"\n");
}
void helloWorld(void)
{
acutPrintf("\nHello World!");
}
///定义入口函数acrxEntryPoint
extern "C"/* 说明为外部函数*/ AcRx::AppRetCode /*定义返回类型*/
acrxEntryPoint(AcRx::AppMsgCode msg/*arx消息*/, void* pkt)
{
switch (msg)
{
case AcRx::kInitAppMsg://初始化消息,程序加载时发送给应用程序
acrxDynamicLinker->unlockApplication(pkt);//使arx程序可以卸载
acrxRegisterAppMDIAware(pkt);//支持MDI,AutoCAD为MDI程序
initApp();//初始化函数
break;
case AcRx::kUnloadAppMsg://程序卸载消息,当arx程序卸载是发送给应用程序
unloadApp();//卸载函数
break;
case AcRx::kLoadDwgMsg://当打开新dwg图形文件是发送
acutPrintf("Received Acrx::kLoadDwgMsg\n");//在命令行中显示信息
break;
default:
break;
}
return AcRx::kRetOK;
} |
|