使用CDialogImpl
派生类作为基于对话框的 WTL/ATL 应用程序,我想在用户单击右上角的“X”按钮(或按下Esc或Alt+ F4)时隐藏主窗口。
当前,“X”关闭对话框并结束应用程序。
我想改变这种行为,只隐藏对话框而不是关闭它。这可能吗?
我不确定 ATL/WTL 是否为此提供了一些包装器,但在 WinAPI 中,您正在寻找的函数是ShowWindow,您可以这样调用它:
ShowWindow(hwnd, SW_HIDE);
如果您希望在应用程序关闭时发生这种情况,您需要处理的消息是WM_CLOSE。
快速搜索后,MSDN 显示CWindow::ShowWindow,这是我前面提到的包装器。