[求助]如何让发送的消息执行完后才返回
<P>我在一对话框的消息响应函数中向CAD发送一命令。如何控制让命令执行完后才执行响应函数后面的语句?</P><P>CTestDlg::OnButton()</P>
<P>{</P>
<P> .....</P>
<P> sendCommand("test");</P>
<P> acutPrintf("test"); //如何控制在CAD下执行完test命令后再返回后执行这句</P>
<P>}</P>
<P>我用这个函数发命令达不到要求</P>
<P>void sendCommand (char *cmd_line) <BR>{<BR> COPYDATASTRUCT cmdDATA;<BR> HWND hwnd;</P>
<P> hwnd = adsw_acadMainWnd();</P>
<P> cmdDATA.dwData = 1;<BR> cmdDATA.cbData = strlen(cmd_line)+1;<BR> cmdDATA.lpData = cmd_line;</P>
<P> SendMessage(hwnd, WM_COPYDATA, (WPARAM) 0, (LPARAM) &cmdDATA);<BR>}</P>
<P>sennStringtoExecute().也不行</P> <P>怎么没人帮忙。王斑竹给看看啊?</P> <P>1、用编辑器反应器监视特定命令的结束(commandCancelled、commandEnded、commandFailed)。</P>
<P>2、把命令发出后要执行的东西包装成一回调个函数。</P>
<P>3、在监视到命令结束时调用这个回调就可以了。</P>
<P>需要派生并实例化一个编辑器反应器。</P>
页:
[1]