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

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

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

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

1 ответ

Решение

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

ShowWindow(hwnd, SW_HIDE);

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

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

Другие вопросы по тегам