|
- //函数的声明部分
- static BOOL CapsDone = FALSE; //判断是否注册了该命令
- BOOL toCaps(MSG *pMsg); //获得消息的函数,就是消息处理函数
- void regCaps(); //注册命令
- void unregCaps(); //注销命令
- ///程序实现
- void initApp()
- {
- acedRegCmds->addCommand(采用T("MKEvents"),采用T("caps"),采用T("caps"),ACRX采用CMD采用MODAL,®Caps);
- return;
- }
- void unloadApp()
- {
- acedRegCmds->removeGroup(采用T("MKEvents"));
- if(CapsDone==TRUE)
- {
- acedRemoveFilterWinMsg(toCaps);
- }
- // acedRemoveWatchWinMsg(toCaps);
- return;
- }
- //此处获得鼠标在Dwg图纸中的坐标,相当有用,值得珍藏的一段代码
- BOOL toCaps(MSG* pMsg)
- {
- CString sTemp;
- long ptx=0,pty=0;
- if(pMsg->message == WM采用CHAR)
- {
- ptx=LOWORD(pMsg->lParam);
- pty=HIWORD(pMsg->lParam);
- CPoint pt(ptx,pty);
- acedDwgPoint getPts;
- acedCoordFromPixelToWorld(pt,getPts);
- sTemp.Format(采用T("/nx=%0.3f,y=%0.3f/n"),getPts[0],getPts[1]);
- acutPrintf(sTemp);
- }
- return FALSE;
- }
- void regCaps()
- {
- if(CapsDone == TRUE)
- return;
- acedPrompt(采用T("/ncapsing.../n"));
- if(acedRegisterFilterWinMsg(toCaps) == FALSE)
- // if(acedRegisterWatchWinMsg(toCaps) == FALSE)
- {
- acedPrompt(采用T("/ncant/n"));
- }
- else
- {
- CapsDone=TRUE;
- }
- return;
- }
- void unregCaps()
- {
- if(CapsDone == TRUE)
- {
- acedRemoveFilterWinMsg(toCaps);
- // acedRemoveWatchWinMsg(toCaps);
- CapsDone = FALSE;
- }
- return;
- }
复制代码 |
|