2013-09-20 2 views

ответ

1

Невозможно отличить причину, по которой закрыт Диалог после его закрытия. Когда я смотрю на список CloseReasons, большинство причин создают разные сообщения (например, shutdown). Единственный способ, который я вижу, - реализовать обработчик сообщений для событий/ситуаций, которые важны для вас.

Примечание: То, что некоторые из CloseReasons не имеют смысла для модального диалога в приложении MFC (как FormOwnerClosing) ...

0

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), являющийся парой более интересных.

+0

Это не поможет. Я убью его через диспетчер задач, нажмите клавишу ESC, нажмите кнопку отмены. Все это дает мне код возврата 2. Я не могу отличить. – linquize

Смежные вопросы