Скрыть диалог CDialogImpl, когда пользователь отменяет
Используя CDialogImpl
Производный класс как диалоговое приложение WTL/ATL, я хочу скрыть главное окно, когда пользователь нажимает верхнюю правую кнопку "X" (или нажимает Esc или Alt + F4).
В настоящее время "X" закрывает диалог и завершает приложение.
Я хочу изменить это поведение и только скрыть диалоговое окно, а не закрывать его. Это возможно?
1 ответ
Решение
Я не уверен, что ATL/WTL предоставляет какую-то обертку для этого, но в WinAPI вы ищете функцию ShowWindow, которую вы бы вызывали так:
ShowWindow(hwnd, SW_HIDE);
Если вы хотите, чтобы это произошло при закрытии приложения, вам необходимо обработать сообщение WM_CLOSE.
После быстрого поиска MSDN показывает CWindow:: ShowWindow, который является оболочкой, о которой я упоминал ранее.