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_p.h | 23 ++++++++++++++--------- 1 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/core/contexts/win32windowcontext_p.h b/src/core/contexts/win32windowcontext_p.h index 698958f..2ea1cf4 100644 --- a/src/core/contexts/win32windowcontext_p.h +++ b/src/core/contexts/win32windowcontext_p.h @@ -1,3 +1,7 @@ +// Copyright (C) 2023-2024 Stdware Collections (https://www.github.com/stdware) +// Copyright (C) 2021-2023 wangwenx190 (Yuhang Zhao) +// SPDX-License-Identifier: Apache-2.0 + #ifndef WIN32WINDOWCONTEXT_P_H #define WIN32WINDOWCONTEXT_P_H @@ -17,8 +21,6 @@ class Win32WindowContext : public AbstractWindowContext { Q_OBJECT - Q_PROPERTY(bool needBorderPainter READ needBorderPainter FINAL) - Q_PROPERTY(int borderThickness READ borderThickness FINAL) public: Win32WindowContext(); ~Win32WindowContext() override; @@ -31,15 +33,17 @@ FixedBorder, TitleBar, }; + Q_ENUM(WindowPart) QString key() const override; void virtual_hook(int id, void *data) override; - bool needBorderPainter() const; - int borderThickness() const; + QVariant windowAttribute(const QString &key) const override; protected: - void winIdChanged(QWindow *oldWindow, bool isDestroyed) override; + void winIdChanged(WId winId, WId oldWinId) override; + bool windowAttributeChanged(const QString &key, const QVariant &attribute, + const QVariant &oldAttribute) override; public: bool windowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, LRESULT *result); @@ -48,7 +52,7 @@ LRESULT *result); // In order to perfectly apply Windows 11 Snap Layout into the Qt window, we need to - // intercept and simulate most of the mouse events, so that the processing logic + // intercept and emulate most of the mouse events, so that the processing logic // is quite complex. Simultaneously, in order to make the handling code of other // Windows messages clearer, we have separated them into this function. bool snapLayoutHandler(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, @@ -61,16 +65,17 @@ LRESULT *result); protected: - WId windowId = 0; - // The last hit test result, helpful to handle WM_MOUSEMOVE and WM_NCMOUSELEAVE. WindowPart lastHitTestResult = WindowPart::Outside; + int lastHitTestResultRaw = HTNOWHERE; // Whether the last mouse leave message is blocked, mainly for handling the unexpected // WM_MOUSELEAVE. bool mouseLeaveBlocked = false; - bool centered = false; + // For emulating traditional icon button behavior + uint64_t iconButtonClickTime = 0; + int iconButtonClickLevel = 0; }; } -- Gitblit v1.9.1