Скрыть диалоговое окно CDialogImpl, когда пользователь отменяет

Использование производного класса CDialogImpl в качестве диалогового приложения WTL/ATL , я хочу скрыть главное окно, когда пользователь нажимает правую верхнюю кнопку "X" (или нажимает Esc или Alt+F4).

В настоящее время «X» закрывает диалог и завершает приложение.

введите здесь описание изображения

Я хочу изменить это поведение и только скрывать диалоговое окно, а не закрывать его. Это возможно?


person Uwe Keim    schedule 04.04.2012    source источник


Ответы (1)


Я не уверен, что ATL/WTL предоставляет для этого какую-то оболочку, но в WinAPI функция, которую вы ищете, это ShowWindow, который вы должны вызывать следующим образом:

ShowWindow(hwnd, SW_HIDE);

Если вы хотите, чтобы это происходило при закрытии приложения, необходимо обработать сообщение WM_CLOSE.

После быстрого поиска MSDN показывает CWindow::ShowWindow, который является оболочкой, о которой я упоминал ранее.

person Mike Kwan    schedule 04.04.2012