This commit is contained in:
朱子楚\zhuzi 2024-03-12 12:19:14 +08:00
parent f4e36241ba
commit 3bfe4dd12c

View File

@ -165,13 +165,16 @@ bool FramelessEventFilter::nativeEventFilter(const QByteArray &eventType, void *
}else if(uMsg == WM_NCACTIVATE){ }else if(uMsg == WM_NCACTIVATE){
*result = ::DefWindowProcW(hwnd, WM_NCACTIVATE, wParam, -1); *result = ::DefWindowProcW(hwnd, WM_NCACTIVATE, wParam, -1);
return true; return true;
}else if(uMsg == WM_GETMINMAXINFO){ }else if(uMsg == WM_GETMINMAXINFO && QT_VERSION < QT_VERSION_CHECK(6,0,0)){
MINMAXINFO* minmaxInfo = reinterpret_cast<MINMAXINFO *>(lParam); MINMAXINFO* minmaxInfo = reinterpret_cast<MINMAXINFO *>(lParam);
auto pixelRatio = _helper->window->devicePixelRatio(); RECT rect;
auto geometry = _helper->window->screen()->availableGeometry(); SystemParametersInfo(SPI_GETWORKAREA, 0, &rect, 0);
minmaxInfo->ptMaxSize.x = geometry.width()*pixelRatio + offsetXY.x() * 2; int cx = rect.right - rect.left + offsetXY.x()*2;
minmaxInfo->ptMaxSize.y = geometry.height()*pixelRatio + offsetXY.y() * 2; int cy = rect.bottom - rect.top + offsetXY.y()*2;
return false; 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){ }else if(uMsg == WM_NCRBUTTONDOWN){
if (wParam == HTCAPTION) { if (wParam == HTCAPTION) {
_helper->showSystemMenu(QCursor::pos()); _helper->showSystemMenu(QCursor::pos());