天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 57|回复: 0

ARX鼠标命令的处理,显示C++强大功能

[复制链接]

该用户从未签到

主题

0

回帖

2912

积分

管理员

积分
2912
发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
[code]//函数的声明部分

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,&regCaps);
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;
}
[/code]

 

 

 

 

ARX鼠标命令的处理,显示C++强大功能
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

GMT+8, 2024-11-1 11:38 , Processed in 0.135570 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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