如何使用 VCL Themes 制作透明备忘录?

Posted

技术标签:

【中文标题】如何使用 VCL Themes 制作透明备忘录?【英文标题】:How to make transparent memos with VCL Themes? 【发布时间】:2022-01-12 20:12:36 【问题描述】:

我正在使用 Delphi 11 中的 VCL 主题。它与已经存在的应用程序配合得很好,但备忘录没有样式,它们保持白色,如下图所示。

我应该怎么做才能使备忘录透明?尝试将颜色设置为 clNone 和 ParentColor true,但没有成功。

【问题讨论】:

您尝试过Tools 菜单中的Bitmap Style Designer 吗?提示:制作您修改的样式文件 (.vsf) 的备份副本 【参考方案1】:

如果您希望备忘录与表单颜色相同,那么我建议您将其颜色从 clWindow 更改为 clBtnFace

或者您可以在您的 VCL 样式的 SysColors 部分更改 clWindow 的颜色。

注意这会影响任何使用clWindow颜色的控件

【讨论】:

clBtnFace 已经有了,但是当我激活 VCL 主题时,它仍然会改变颜色。到目前为止,我的解决方法是手动将备忘录的颜色更改为与主题在表单上使用的颜色相同的颜色。但是每份备忘录都做起来很头疼…… @delphirules 在这种情况下使用interposer class 是一种常见的技巧。理想情况下,您应该首先将 TMemo 子类化,然后可以有一种简单的方法在您的应用程序中全局修改所有它们,但这至少是一种快速但同时获得您想要的东西的方法。

以上是关于如何使用 VCL Themes 制作透明备忘录?的主要内容,如果未能解决你的问题,请参考以下文章

VCL从RES中读取皮肤

如何为 UITableView 中的选定单元格制作透明背景

看看 Delphi XE2 为 VCL 提供的 14 种样式

在 SpriteKit 中,如何制作我的英雄精灵的裁剪(带有透明段)图像?

转:看看 Delphi XE2 为 VCL 提供的 14 种样式

如何用WORD2007快速制作树状图总结