【问题标题】:Getting MFC DIalog close reason获取 MFC 对话框关闭原因
【发布时间】:2013-09-20 14:16:37
【问题描述】:

对于CDialogSystem.Windows.Forms.CloseReason 的 MFC 等效项是什么?

如何在MFC CDialog中捕获FormClosing事件?

【问题讨论】:

    标签: winapi mfc


    【解决方案1】:

    没有办法区分关闭对话框后关闭的原因。 当我查看 CloseReasons 列表时,大多数原因都会创建不同的消息(如关机)。我看到的唯一方法是为对您很重要的事件/情况实现消息处理程序。

    注意:某些 CloseReasons 对于 MFC 应用程序中的模态对话框没有意义(如 FormOwnerClosing)...

    【讨论】:

      【解决方案2】:

      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) 是其中一些更有趣的消息。

      【讨论】:

      • 这没有帮助。我通过任务管理器杀死它,按ESC键,按取消按钮。所有这些都给我返回码2。我无法区分。
      猜你喜欢
      • 1970-01-01
      • 2011-08-22
      • 2019-04-06
      • 1970-01-01
      • 2020-10-15
      • 1970-01-01
      • 2012-02-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多