CListCtrl 设置文字背景色的时候,怎么只在有定的地方出现背景色?

时间:2022-11-18 14:47:55
在CListCtrl控件里,用SetTextBkColor()设置背文字景色的时候,是一整行都设置成了背景色,我现在是想只在有字的地方出现背景色,没有字的地方还是原来的颜色,如白色。就像CListBox一样。这个怎么实现了,请大家帮帮忙呀!

11 个解决方案

#1


看来要自绘了

#2


自绘的话怎么绘呢?关键是不知道这个有字有的区域不知道怎么获取。

#3


http://www.vckbase.com/document/viewdoc/?id=1855

#4


获取Dc,dc里有获取字符串长度的函数

#6


试试SetBkMode(OPAQUE);

#7


CListCtrl::SetTextBkColor()

#8


study

#9


响应NM_CUSTOMDRAW,自绘,可以对每个Item进行自绘。

#10


自己绘制文字的时候顺便也设置背景色,这样没文字的地方就是原来的颜色,最好绘之前刷新下

#11


只有用自绘,不过要判断显示的有些多

#1


看来要自绘了

#2


自绘的话怎么绘呢?关键是不知道这个有字有的区域不知道怎么获取。

#3


http://www.vckbase.com/document/viewdoc/?id=1855

#4


获取Dc,dc里有获取字符串长度的函数

#5


#6


试试SetBkMode(OPAQUE);

#7


CListCtrl::SetTextBkColor()

#8


study

#9


响应NM_CUSTOMDRAW,自绘,可以对每个Item进行自绘。

#10


自己绘制文字的时候顺便也设置背景色,这样没文字的地方就是原来的颜色,最好绘之前刷新下

#11


只有用自绘,不过要判断显示的有些多