对话框的销毁
在对话框中,搞不清点击 OnOk , OnCancel 和 关闭X 的区别
EndDialog和DestoryWindow有什么区别?
求指教
[解决办法]
EndDialog 在DestoryWindow之前允许处理完没处理的消息
[解决办法]
对话框上点击"X"关闭按钮会调用OnCancel虚函数
OnCancel里会调用CDialog::EndDailog函数,最终会调用API函数EndDialog
void CDialog::EndDialog(int nResult){ ASSERT(::IsWindow(m_hWnd)); if (m_nFlags & (WF_MODALLOOP|WF_CONTINUEMODAL)) EndModalLoop(nResult); ::EndDialog(m_hWnd, nResult);}
[解决办法]
如果是你Dlg用DoModal()起的话,能够看到它返回值OnOk , OnCancel 和 关闭X 是不一样的。这几个消息都是可以重写的。。如果没重写,貌似系统默认都是直接调用EndDialog().
EndDialog 是CDialog的响应函数
DestoryWindow 是窗口的销毁消息。。你可以理解成CWnd的消息
[解决办法]
http://hi.baidu.com/wo56872095/blog/item/324730f095879e7bddc474ac.html