用户取消时隐藏CDialogImpl对话框

时间:2012-04-04 06:23:27

标签: c++ windows dialog atl wtl

使用CDialogImpl派生类作为基于对话框的WTL / ATL应用程序,我想在用户单击右上角的“X”按钮时隐藏主窗口(或按 Esc Alt + F4 )。

目前,“X”关闭对话框并结束应用程序。

enter image description here

我想更改此行为,只有隐藏对话框而不是关闭它。这可能吗?

1 个答案:

答案 0 :(得分:2)

我不确定ATL / WTL是否为此提供了一些包装,但是在WinAPI中,您正在寻找的函数是ShowWindow,您可以这样调用它:

ShowWindow(hwnd, SW_HIDE);

如果您希望在应用程序关闭时发生这种情况,则需要处理的邮件是WM_CLOSE

快速搜索后,MSDN会显示CWindow::ShowWindow,这是我之前提到的包装器。