📄 subject_40596.htm
字号:
<p>
序号:40596 发表者:张鸿彬 发表日期:2003-05-19 22:42:54
<br>主题:如何退出程序
<br>内容:我用MFC写了一个程序,但是用如下代码<BR>m_pMainWnd->SendMessage(WM_QUIT,0,0)<BR>m_pMainWnd->SendMessage(WM_DESTROT,0,0)<BR>却退不出程序 而用<BR>m_pMainWnd->SendMessage(WM_CLOSE,0,0)<BR>或::PostQuitMessage(0);却可以。请问这是为什么???
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:xiongli 回复日期:2003-05-19 23:22:52
<br>内容:1,wm_quit是不能用post/send发送的,唯一的正确方式:<BR>The WM_QUIT message is not associated with a window and therefore will never be received through a window's window procedure. It is retrieved only by the GetMessage or PeekMessage functions. <BR>/*<BR>Do not post the WM_QUIT message using the PostMessage function; use PostQuitMessage. <BR>*/<BR><BR>2,注意mfc里面windows关闭的消息顺序<BR>1)wm_close<BR>2)wm_destory<BR>3)postquitmessage<BR><BR>一旦得到wm_close,那么mfc会给每个窗口发消息,他们分别会处理wm_destory,表示正在销毁当前窗口<BR>等所有的都销毁了,那么才是postequitmessage产生wm_quit<BR><BR>然后才退出<BR><BR>你看看你发送wm_desotry后,你的程序是不是半死半活状态??
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:xiongli 回复日期:2003-05-19 23:24:41
<br>内容:注意mfc处理消息的方式跟sdk不一样<BR>mfc有个钩子函数,有一个runtime class<BR>具体参考深入浅出mfc
<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 + -