From 9dcea027f16c4ce5852da3dfc8aca284c582bd7d Mon Sep 17 00:00:00 2001 From: sola.lu <sola.lu.greentest.com.cn> Date: 周五, 06 6月 2025 18:19:18 +0800 Subject: [PATCH] 1.注释掉custom margin,解决程序放大后,遮盖窗口底部内容的问题。 --- src/core/contexts/win32windowcontext.cpp | 24 ++++++++++++++++++++++-- 1 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/core/contexts/win32windowcontext.cpp b/src/core/contexts/win32windowcontext.cpp index f8a4f67..9e9dc59 100644 --- a/src/core/contexts/win32windowcontext.cpp +++ b/src/core/contexts/win32windowcontext.cpp @@ -37,6 +37,14 @@ # error Current Qt version has a critical bug which will break QWK functionality. Please upgrade to > 6.6.1 or downgrade to < 6.6.0 #endif +#ifndef DWM_BB_ENABLE +# define DWM_BB_ENABLE 0x00000001 +#endif + +#ifndef ABM_GETAUTOHIDEBAREX +# define ABM_GETAUTOHIDEBAREX 0x0000000b +#endif + namespace QWK { enum IconButtonClickLevelFlag { @@ -101,7 +109,7 @@ #else if (const auto platformWindow = dynamic_cast<QNativeInterface::Private::QWindowsWindow *>(window->handle())) { - platformWindow->setCustomMargins(margins); + // platformWindow->setCustomMargins(margins); } #endif } @@ -1901,6 +1909,18 @@ break; } + case WM_SHOWWINDOW: { + if (!wParam || !isWindowNoState(hWnd) || isFullScreen(hWnd)) { + break; + } + RECT windowRect{}; + ::GetWindowRect(hWnd, &windowRect); + static constexpr const auto swpFlags = SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE | SWP_FRAMECHANGED | SWP_NOOWNERZORDER; + ::SetWindowPos(hWnd, nullptr, 0, 0, RECT_WIDTH(windowRect) + 1, RECT_HEIGHT(windowRect) + 1, swpFlags); + ::SetWindowPos(hWnd, nullptr, 0, 0, RECT_WIDTH(windowRect), RECT_HEIGHT(windowRect), swpFlags); + break; + } + default: break; } @@ -2321,7 +2341,7 @@ if (!mouseHook) { mouseHook = ::SetWindowsHookExW( WH_MOUSE, - [](int nCode, WPARAM wParam, LPARAM lParam) { + [](int nCode, WPARAM wParam, LPARAM lParam) -> LRESULT { if (nCode >= 0) { switch (wParam) { case WM_LBUTTONDBLCLK: -- Gitblit v1.9.1