【发布时间】:2013-09-20 14:16:37
【问题描述】:
对于CDialog,System.Windows.Forms.CloseReason 的 MFC 等效项是什么?
如何在MFC CDialog中捕获FormClosing事件?
【问题讨论】:
对于CDialog,System.Windows.Forms.CloseReason 的 MFC 等效项是什么?
如何在MFC CDialog中捕获FormClosing事件?
【问题讨论】:
没有办法区分关闭对话框后关闭的原因。 当我查看 CloseReasons 列表时,大多数原因都会创建不同的消息(如关机)。我看到的唯一方法是为对您很重要的事件/情况实现消息处理程序。
注意:某些 CloseReasons 对于 MFC 应用程序中的模态对话框没有意义(如 FormOwnerClosing)...
【讨论】:
CDialog::DoModal 返回一个值,具体取决于它的关闭方式(可以是 IDOK、IDCANCEL 或其他值 - 请参阅此参考:http://msdn.microsoft.com/en-us/library/619z63f5%28v=vs.90%29.aspx)。
您可以使用对话框中的各种消息来判断它何时关闭 - OnCancel (http://msdn.microsoft.com/en-us/library/kw3wtttf%28v=vs.90%29.aspx) 或 OnOK (http://msdn.microsoft.com/en-us/library/66b3y2ab%28v=vs.90%29.aspx) 是其中一些更有趣的消息。
【讨论】: