【发布时间】:2025-12-06 00:30:02
【问题描述】:
与此post相关
我试图禁用窗口大小调整。所以我在我的 wxFrame 上禁用了 wxDEFAULT_FRAME_STYLE 和 wxRESIZE_BORDER 选项......它可以工作。
但是现在,如果用户在标题栏上双击,窗口会再次调整大小。
当用户双击标题栏时,如何避免调整窗口大小?
谢谢。
【问题讨论】:
与此post相关
我试图禁用窗口大小调整。所以我在我的 wxFrame 上禁用了 wxDEFAULT_FRAME_STYLE 和 wxRESIZE_BORDER 选项......它可以工作。
但是现在,如果用户在标题栏上双击,窗口会再次调整大小。
当用户双击标题栏时,如何避免调整窗口大小?
谢谢。
【问题讨论】:
您需要删除wxMAXIMIZE_BOX 样式。
根据 cmets,您在执行此操作时遇到了问题,或者您使用的 wxWidgets 可能没有映射到底层窗口样式。如果是这种情况,那么您可以像这样删除WS_MAXIMIZEBOX 窗口样式:
DWORD style = GetWindowLongPtr(hwnd, GWL_STYLE);
SetWindowLongPtr(hwnd, GWL_STYLE, style & ~WS_MAXIMIZEBOX);
【讨论】:
SetWindowLongPtr来删除WS_MAXIMIZEBOX。无论如何,wxWidgets 应该会发生这种情况,但我已经看到 wxWidgets 的错误报告说它不会发生。您可以有用地使用GetWindowLongPtr 来找出您窗口的窗口样式。在这里发布,我相信我们可以找到问题。