- UID
- 7305
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-7-5
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
我自定义了一个LINE命令如下(通过单击自定义TOOLBAR)
问题是:
当MOUSEMOVE时,程序不会给我实时显示LINE,而是到最后
当我单击左键,即选定第二个点时才给我显示所有的ACDBLINE
void CToolBarWnd::OnLine() //下面程序可能比较粗,不过主要是我提出的问题
{
AcGePoint3d sp,ep;
AcDbObjectId plineId;
MSG *pMsg=new MSG;
AcDbLine *pLine;
acDocManager->lockDocument(
acDocManager->curDocument(), AcAp::kWrite,
NULL, NULL,true) ;
acedGetPoint(NULL,"\n输入起点:",asDblArray(sp));
acutPrintf("\n输入终点: ");
while(1)
{
GetMessage(pMsg,NULL,0,0);
TranslateMessage(pMsg);
if (pMsg->message == WM_MOUSEMOVE)
{
ep[X]=LOWORD(pMsg->lParam);
ep[Y]=HIWORD(pMsg->lParam);
ep[Z]=0;
pLine=new AcDbLine(sp,ep);
AppendToBlock(plineId,pLine);
pLine->close();
continue;
//这里没写删除前一条LINE的CODE
}
if (pMsg->message==WM_LBUTTONDOWN)
break;
}
acDocManager->unlockDocument(acDocManager->curDocument());
} |
|