禁用 Win32 中的最小化、最大化、关闭按钮
Disable Minimize, Maximize, Close buttons in Win32
我做过研究,但还没有找到解决问题的方法。有什么好方法可以禁用Win32中的最小化,最大化和关闭按钮?我希望它们仍然存在并具有动画感,但不敏感。我还希望能够通过拖动框架来调整窗口大小。
SetWindowLong(hwnd, GWL_STYLE,
GetWindowLong(hwnd, GWL_STYLE) & ~WS_MINIMIZEBOX);
您可以将该代码放在窗口初始化的位置。查看 https://devblogs.microsoft.com/oldnewthing/20100604-00/?p=13803
只需捕获相关事件(WM_SYSCOMMAND 和 WM_CLOSE),并通过返回 0 告诉 Windows 忽略它们。请注意,在WM_SYSCOMMAND的情况下,您应该只对您真正想要阻止的事件执行此操作,即事件代码SC_MINIMIZE、SC_MAXIMIZE等。应允许所有其他人正常通过。有关详细信息,请参阅 https://msdn.microsoft.com/en-us/library/windows/desktop/ms646360%28v=vs.85%29.aspx。
但是,请注意,如果您提供按钮,用户将期望它们正常工作。只是隐藏它们可能是更好的选择。您可以通过调用 SetWindowLong (https://msdn.microsoft.com/en-us/library/ms633591%28v=vs.85%29.aspx) 并更改 GWL_STYLE 属性来执行此操作,使其不再包含WS_MINIMIZEBOX、WS_MAXIMIZEBOX 等标志。
相关文章:
- 可能的Qt5错误:调用setFixedSize()禁用主窗口的关闭按钮(在Win7下)
- 如何隐藏最大化和最小化按钮并在qml应用程序窗口中显示关闭按钮?
- Arduino上的打开和关闭按钮
- 如何抓住CTabView关闭按钮按下
- 在关闭按钮上设置未保存的文件标记
- 在 WTL 中使向导的"关闭"按钮灰显
- 禁用 Win32 中的最小化、最大化、关闭按钮
- QDialog 打开时允许 QMainWindow 上的关闭按钮
- 禁用QDialogs默认关闭按钮(左上角"cross button")?
- 如何在不影响 ALT+F4 或在任务栏中关闭窗口的情况下重新调整窗口关闭按钮的用途?
- 单击对话框关闭按钮时,正确中止线程
- 自定义最小-最大关闭按钮实现
- 如何处理笔记本上的电源关闭按钮
- 如何执行程序清理时,用户按下关闭按钮在c++控制台应用程序
- 启用win32消息框中的关闭按钮
- WinAPI:创建可调整大小的窗口,没有标题栏,但有最小化/最大化/关闭按钮(如Firefox/Chrome/Opera
- 使用关闭按钮关闭Opencv窗口
- 为什么快板自动处理最小化按钮,而不是关闭按钮
- 我似乎无法使用Qt::WindowFlags添加关闭按钮
- 如何获取标题栏窗口控件的 RECT(最大化、最小化、关闭按钮)?我尝试制作自定义颜色标题栏