CListCtrl文字背景色如何设置。

时间:2021-10-02 14:52:00
CListCtrl文字背景色如何设置。

我用SetTextBkColor把list背景设置成红色。用EnableWidnow把list设置成disabled。可以item文字的灰色背景怎么修改呀,现在太难看了。

17 个解决方案

#2


DrawItem等进行重绘,文字背景也需要重画

#3


SetBkMode(TRANSPARENT);

#5


感谢大家回复,我其实知道如何自绘,就是不知道如何改那个灰色的背景色。因为我不想自己DrawText,而是保留CListCtrl自己的文字输出。

SetBkMode是针对DC的,我没有操作DC。

#6


怎么我试的时候整张颜色都是一样的,没有出现你的情况?

#7


我的也没问题:
void CMyExploreView::OnInitialUpdate()
{
CListView::OnInitialUpdate();
CListCtrl    &RightList=GetListCtrl();
RightList.SetTextBkColor(RGB(255,0,0));

#8


RightList. EnableWindow(FALSE);
惹的祸

#9


不让ListCtrl工作,在ListCtrl,在SetFocus中把Focus还给父窗口。

#10


得把List设置成Disable才会出现。

#11


自绘控件

#12


还是没有我想要的答案。

#13


就是说先不要EnableWindow(FALSE);
看看对不对,
‘还是没有我想要的答案’?你试了吗?

#14


引用 13 楼 schlafenhamster 的回复:
就是说先不要EnableWindow(FALSE);
看看对不对,
‘还是没有我想要的答案’?你试了吗?


试无数次了。我的控件必须是disable的,为什么不要EnableWindow(FALSE)?

#15


"因为我不想自己DrawText,而是保留CListCtrl自己的文字输出。"
你想要SetTextBkColor(RGB(255,0,0));有效必须不要EnableWindow(FALSE)
否则SetTextBkColor(RGB(255,0,0));会无效。你就需要响应:
OnCustDrawList(NMHDR *pNMHDR,LRESULT *pResult)

#17


您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了 疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面 界面版关于版主结帖工作的具体办法

#1


#2


DrawItem等进行重绘,文字背景也需要重画

#3


SetBkMode(TRANSPARENT);

#4


#5


感谢大家回复,我其实知道如何自绘,就是不知道如何改那个灰色的背景色。因为我不想自己DrawText,而是保留CListCtrl自己的文字输出。

SetBkMode是针对DC的,我没有操作DC。

#6


怎么我试的时候整张颜色都是一样的,没有出现你的情况?

#7


我的也没问题:
void CMyExploreView::OnInitialUpdate()
{
CListView::OnInitialUpdate();
CListCtrl    &RightList=GetListCtrl();
RightList.SetTextBkColor(RGB(255,0,0));

#8


RightList. EnableWindow(FALSE);
惹的祸

#9


不让ListCtrl工作,在ListCtrl,在SetFocus中把Focus还给父窗口。

#10


得把List设置成Disable才会出现。

#11


自绘控件

#12


还是没有我想要的答案。

#13


就是说先不要EnableWindow(FALSE);
看看对不对,
‘还是没有我想要的答案’?你试了吗?

#14


引用 13 楼 schlafenhamster 的回复:
就是说先不要EnableWindow(FALSE);
看看对不对,
‘还是没有我想要的答案’?你试了吗?


试无数次了。我的控件必须是disable的,为什么不要EnableWindow(FALSE)?

#15


"因为我不想自己DrawText,而是保留CListCtrl自己的文字输出。"
你想要SetTextBkColor(RGB(255,0,0));有效必须不要EnableWindow(FALSE)
否则SetTextBkColor(RGB(255,0,0));会无效。你就需要响应:
OnCustDrawList(NMHDR *pNMHDR,LRESULT *pResult)

#16


#17


您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了 疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面 界面版关于版主结帖工作的具体办法