表单标题栏多色

时间:2019-01-25 13:20:28

标签: forms delphi customization

我对表格外观有疑问。 我想创建一个看起来像某些macOS应用程序的应用程序(例如Bear或什至App Store。这些应用程序的特征是其左侧部分(一种抽屉)为on1色)。 我想以相同的方式用Delphi创建表单。 我已经看了互联网,并按照建议尝试使用VCL样式,但是由于运行该应用程序的各种PC上的Windows dpi设置,存在一些问题。因此,我想知道是否有一种方法可以完成此任务编码。 在下图中,您可以看到普通窗口在装有Windows 10的PC中的显示方式

enter image description here

该示例以一种简单的形式问候,直到我放置一个蓝色的面板。 如您所见,窗口的标题栏是白色的,并且可以使用VCL样式用一种颜色进行绘制(但在这种情况下,所有标题栏应为该颜色。 我想要的是类似于下图(在Photoshop中创建)的图像,在该图像中我仅画了一条红线以突出显示标题栏:

enter image description here

我已经尝试过拦截WM_NCPAIN或其他类似的解决方案,但是我找不到解决任务的方法。 有人可以帮我解决这个问题吗? 提前非常感谢

爱神

1 个答案:

答案 0 :(得分:0)

在Windows Vista和更高版本中,应用程序窗口的非客户端区域(标题栏,图标,窗口边框和标题按钮)的外观由DWM(桌面窗口管理器)控制。使用DWM API,您可以更改DWM渲染窗口框架的方式。(引用MSDN)。

有一篇文章Setting up a custom title bar on Vista/Windows 7解释了如何使用Delphi进行此操作。本文还适用于Windows 8.x和Windows 10。您可以找到概述here

相关问题