VirtualTreeView and VCL Styles



我在我的应用程序中使用VirtualTreeView(作为Delphi XE7中的网格),我还选择使用Carbon VCL样式。问题出现了,因为我需要根据每行的一些状态对一些行进行着色,即使我在一行上使用浅色,字体颜色也保持白色。因此读取数据是不可能的。当我使用Iceberg Classico样式时,不会出现此问题。

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

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

任何想法?

我找到了一个对这个主题很有帮助的库:

// 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); 

我可以改变字体的颜色。

劳伦特

相关内容

  • 没有找到相关文章

最新更新