From 3bfe4dd12ca5ce7df57a2df0321d60945719634d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E5=AD=90=E6=A5=9A=5Czhuzi?= Date: Tue, 12 Mar 2024 12:19:14 +0800 Subject: [PATCH] update --- src/FluFramelessHelper.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/FluFramelessHelper.cpp b/src/FluFramelessHelper.cpp index 910eaa8d..3bdad22c 100644 --- a/src/FluFramelessHelper.cpp +++ b/src/FluFramelessHelper.cpp @@ -165,13 +165,16 @@ bool FramelessEventFilter::nativeEventFilter(const QByteArray &eventType, void * }else if(uMsg == WM_NCACTIVATE){ *result = ::DefWindowProcW(hwnd, WM_NCACTIVATE, wParam, -1); return true; - }else if(uMsg == WM_GETMINMAXINFO){ + }else if(uMsg == WM_GETMINMAXINFO && QT_VERSION < QT_VERSION_CHECK(6,0,0)){ MINMAXINFO* minmaxInfo = reinterpret_cast(lParam); - auto pixelRatio = _helper->window->devicePixelRatio(); - auto geometry = _helper->window->screen()->availableGeometry(); - minmaxInfo->ptMaxSize.x = geometry.width()*pixelRatio + offsetXY.x() * 2; - minmaxInfo->ptMaxSize.y = geometry.height()*pixelRatio + offsetXY.y() * 2; - return false; + RECT rect; + SystemParametersInfo(SPI_GETWORKAREA, 0, &rect, 0); + int cx = rect.right - rect.left + offsetXY.x()*2; + int cy = rect.bottom - rect.top + offsetXY.y()*2; + minmaxInfo->ptMaxPosition.x = rect.left - offsetXY.x(); + minmaxInfo->ptMaxPosition.y = rect.top - offsetXY.x(); + minmaxInfo->ptMaxSize.x = cx; + minmaxInfo->ptMaxSize.y = cy; }else if(uMsg == WM_NCRBUTTONDOWN){ if (wParam == HTCAPTION) { _helper->showSystemMenu(QCursor::pos());