lulisong 发表于 2006-1-14 22:24:00

[求助]如何让发送的消息执行完后才返回

我在一对话框的消息响应函数中向CAD发送一命令。如何控制让命令执行完后才执行响应函数后面的语句?
CTestDlg::OnButton()
{
   .....
   sendCommand("test");
   acutPrintf("test");    //如何控制在CAD下执行完test命令后再返回后执行这句
}
我用这个函数发命令达不到要求
void sendCommand (char *cmd_line)      
{
    COPYDATASTRUCTcmdDATA;
    HWNDhwnd;
    hwnd = adsw_acadMainWnd();
    cmdDATA.dwData = 1;
    cmdDATA.cbData = strlen(cmd_line)+1;
    cmdDATA.lpData = cmd_line;
    SendMessage(hwnd, WM_COPYDATA, (WPARAM) 0, (LPARAM) &cmdDATA);
}
sennStringtoExecute().也不行

lulisong 发表于 2006-1-15 23:38:00

怎么没人帮忙。王斑竹给看看啊?

hellow 发表于 2006-1-21 02:17:00

1、用编辑器反应器监视特定命令的结束(commandCancelled、commandEnded、commandFailed)。
2、把命令发出后要执行的东西包装成一回调个函数。
3、在监视到命令结束时调用这个回调就可以了。
需要派生并实例化一个编辑器反应器。
页: [1]
查看完整版本: [求助]如何让发送的消息执行完后才返回