ListView的字体控制~
问题描述:
ListView以vsReport方式显示(如下);我想实现:ListView的每个SubItems(子项)的显示字体颜色都不同。例如SubItems->Strings[1] 为红色,SubItems->Strings[2] 为灰色,SubItems->Strings[3] 为紫色...
测试1 测试2 测试3 (标题)
色彩1 色彩2 色彩3
色彩1 色彩2 色彩3
色彩1 色彩2 色彩3
[解决办法]
在DrawSubItem事件里
- C/C++ code
void __fastcall TForm1::ListView3CustomDrawSubItem(TCustomListView *Sender, TListItem *Item, int SubItem, TCustomDrawState State, bool &DefaultDraw){ if( SubItem == 0 ) ListView3-> Canvas-> Brush-> Color=clBlue;//任意颜色 else if( SubItem == 1 ) ListView3-> Canvas-> Brush-> Color=clRed;//任意颜色 else ListView3-> Canvas-> Brush-> Color=clYellow;//任意颜色 ListView3-> Canvas-> Font-> Color = clBlack ; ListView3-> Canvas-> Font-> Style = TFontStyles() << fsBold; ListView3-> Canvas-> Font-> Size = 12; ListView3-> Canvas-> Font-> Name = "宋体 ";}