📄 subject_62058.htm
字号:
<p>
序号:62058 发表者:老土人 发表日期:2003-11-24 14:44:31
<br>主题:请教对话框的问题
<br>内容:在DMIPSOutBarCtrl.h自定义一个消息:<BR>#define WM_OUTBAR_NOTIFY WM_USER + 1<BR>.....<BR>class CDMIPSOutBarCtrl : public CWnd<BR>{<BR>......<BR>};<BR><BR>在mainfrm.h中接收消息<BR>class CMainFrame : public CFrameWnd<BR>{....<BR>protected:<BR> afx_msg long OnOutbarNotify(WPARAM wParam, LPARAM lParam);<BR>......<BR>};<BR>mainfrm.cpp中:<BR>BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)<BR> .......<BR> ON_MESSAGE(WM_OUTBAR_NOTIFY, OnOutbarNotify)<BR>END_MESSAGE_MAP()<BR>.....<BR>long CMainFrame::OnOutbarNotify(WPARAM wParam, LPARAM lParam)<BR>{<BR>.........<BR>CDBSearchDlg dlg;<BR>dlg.DoModal ();<BR>......<BR>return 0;<BR>}<BR>这个消息是鼠标左键消息处理函数中通过<BR>GetOwner()->SendMessage(WM_OUTBAR_NOTIFY, NM_OB_ITEMCLICK, idx);<BR>产生的(在DMIPSOutBarCtrl.cpp中响应鼠标)。<BR>对话框确实能产生,可是好像不对劲,产生的对话框好像隶属于CDMIPSOutBarCtrl的对象。现象如下图所示:<BR>请问各位前辈是怎么回事?!<BR><BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:luo 回复日期:2003-11-24 16:11:28
<br>内容:GetOwner()->SendMessage(WM_OUTBAR_NOTIFY, NM_OB_ITEMCLICK, idx);改为PostMessage试试。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:老土人 回复日期:2003-11-24 17:38:22
<br>内容:改为PostMessage果然可以了,不知道为什么,上面这位前辈能否值点指点?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:luo 回复日期:2003-11-25 09:19:24
<br>内容:SendMessage是要等到那条消息处理完才返回,而PostMessage只是把这条消息放入消息队列而已。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -