c++ - 当用户取消时隐藏 CDialogImpl 对话框

标签 c++ windows dialog atl wtl

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

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

enter image description here

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

最佳答案

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

ShowWindow(hwnd, SW_HIDE);

如果您希望在应用程序关闭时发生这种情况,您需要处理的消息是WM_CLOSE。 .

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

关于c++ - 当用户取消时隐藏 CDialogImpl 对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10005905/

相关文章:

javascript - 将 JavaScript Array.slice + 隐式扩展转换为 C++ vector

java - 如何通过 Qt JNI 将 null 从 C++ 传递到 Java?

android - 在 Android 的 View 中打开带有文本输入的对话框

Javascript 关闭警告框

angular - 动态更改 Angular 12 中垫子对话框的宽度/高度

c++ - Regex/grep/findstr 用于定位内存分配 C++

c++ - OpenGL 中的阴影贴图

C++/Win32 : Keyboard input to a non-foreground window

c# - 在任务栏中从 C# 应用程序聚焦 Windows 资源管理器

windows - 在 Windows 8 中从 Metro 应用程序触发关机/重启的最佳方式