首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VirtualTreeView和VCL样式

VirtualTreeView和VCL样式
EN

Stack Overflow用户
提问于 2015-06-04 23:30:32
回答 1查看 477关注 0票数 2

我在我的应用程序中使用了VirtualTreeView (作为Delphi中的网格XE7),我也选择了Carbon VCL风格。出现这个问题的原因是,我需要根据每一行上的某些状态为一些行着色,即使我在一行上使用浅色,字体颜色仍然保持为白色。所以读取数据是不可能的。当我使用Iceberg Classico风格时,这个问题不会发生。

所以基本上,我可以根据所选的样式更改我的行集的颜色,这是一种解决方案。但是我正在寻找一种根据行颜色背景修改字体颜色的方法?

我正在做事件中的着色代码: BeforeCellPaint,我试图修改字体颜色,但没有成功。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2015-06-15 16:59:24

我发现一个库在这个问题上有很大的帮助:

代码语言:javascript
复制
// unit for the VCL Styles Utils 
// github.com/RRUZ/vcl-styles-utils 

TargetCanvas.Brush.Color := aColor; 
if TStyleManager.ActiveStyle.Name = 'Carbon' then
   TCustomStyleExt(TStyleManager.ActiveStyle).SetStyleFontColor(sfTreeItemTextNorma‌​l, clBlack) 
else
   TCustomStyleExt(TStyleManager.ActiveStyle).SetStyleFontColor(sfTreeItemTextNorma‌​l, aFontColor); 
TargetCanvas.FillRect(CellRect); 

这样我就可以改变字体的颜色了。

Laurent

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30648083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档