2012-04-04 3 views
0

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

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

enter image description here

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

ответ

2

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

ShowWindow(hwnd, SW_HIDE); 

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

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

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