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