1

很久以前我一直在寻找一种方法来增强和皮肤窗口中的非客户区,很多人说只有两种方法,要么你制作一个无框窗口并绘制我自己的按钮,要么通过像 WM_PAINT 这样挂钩 windows 消息,我对第二种方法很感兴趣,所以无论如何要实现这一点,因为最大的问题是我正在使用 Qt,也许这张照片将有助于强调这个问题。 在此处输入图像描述

4

2 回答 2

1

您正在寻找的是非客户绘画。Windows 有许多用于处理非客户区的消息。在此线程中对“QT Non-client paint”进行一些网络搜索,该线程给出了如何在 QT 中进行非客户端绘画的简要示例。

于 2013-07-30T00:09:50.070 回答
1

Adobe Brackets(特别是 CEF 包装器源代码,可在此处找到:https ://github.com/adobe/brackets-shell/ )为非客户端绘制提供源代码;Spotify 共享此代码(见学分)。我没有在 Qt 中执行此操作的经验;我修补了一个 64 位的支架外壳端口,但在我开始使用 Electron 时并没有完成。它是特定于 Windows 的,所以也许您可以直接使用 Win32 API 来包装 Qt 窗口的 WndProc 并以这种方式实现?

于 2016-12-08T05:46:54.533 回答