【问题标题】:How to change colors of a Firemonkey TProgressBar in C++ Builder?如何在 C++ Builder 中更改 Firemonkey TProgressBar 的颜色?
【发布时间】:2014-11-05 15:54:51
【问题描述】:
TProgressBar 类没有任何颜色属性,即使您编辑自定义样式,您也可以看到代表栏的维护者(TStyleObject),但它没有任何颜色可以更改的属性。
是否可以在 C++ Builder 中更改 Firemonkey TProgressBar 的颜色?
是否可以在 C++ Builder 中为 Firemonkey TProgressBar 创建具有自定义颜色的自定义样式?
是否可以在运行时动态更改此样式?
感谢您的任何回复或建议...
【问题讨论】:
标签:
c++builder
firemonkey
【解决方案1】:
TStyleObject 链接到包含要显示的图像的位图。感兴趣的属性是 SourceLookup,它包含样式中位图的 StyleName,以及 SourceLink。此属性包含指向要显示的位图区域的链接。
样式设计师也应该已经拉出位图,如果您查看它(提示:MultiResBitmap 属性),您应该会看到其中的适当区域。
在这个阶段,事情开始变得复杂,因为我不知道如何在编辑器中导出或编辑位图。
还有其他方法可以访问位图(例如,工具菜单上的位图样式设计器),但如果您想在运行时更改颜色,这可能对您没有帮助。我建议重建样式以使用简单的 TRectangles。只需确保重复使用相同的 StyleName,以便代码可以找到它们。
为固定颜色创建一个新的位图,将其添加到您的样式中并将其引用到 TStyleObjects 中。