| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2624 人关注过本帖
标题:[求助]改变List Contrl控件的背景色?
只看楼主 加入收藏
bill8888
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2007-3-10
收藏
 问题点数:0 回复次数:12 
[求助]改变List Contrl控件的背景色?
在一个对话框图中,通过WM_CTLCOLOR消息就可以改变编辑框等控件的背景,但是List Contrl控件不行,那么怎么改变List Contrl控件的背景色呢?
搜索更多相关主题的帖子: Contrl控件 背景色 List 框图 
2007-07-04 16:59
余来
Rank: 6Rank: 6
等 级:贵宾
威 望:26
帖 子:956
专家分:18
注 册:2006-8-13
收藏
得分:0 
这个需要重画,新建立一个基于CListCtrl的控件,然后再重载WM_ERASEBKGND消息,在OnEraseBkgnd函数中,画背景就OK

2007-07-04 17:29
bill8888
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2007-3-10
收藏
得分:0 
我新建一个基于CListCtrl的类后,再重载WM_ERASEBKGND消息,在OnEraseBkgnd函数中
我把这个控件的背景设置为透明的话可以直接这样写不:
pDC->SetBkMode(TRANSPARENT);

这个是通过修改这个pDC来达到修改这个控件属性的目的吧?


2007-07-04 22:44
cz522321
Rank: 1
等 级:禁止访问
威 望:2
帖 子:569
专家分:5
注 册:2006-3-13
收藏
得分:0 
没错, 就是这样设置.

2007-07-05 06:38
bill8888
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2007-3-10
收藏
得分:0 

可是这样没有效果啊


2007-07-05 08:53
bill8888
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2007-3-10
收藏
得分:0 
我把我写出详细的说一下:
我派生一个类CListCtrlSet,它是以CListCtrl为类,然后重载WM_ERASEBKGND消息,在OnEraseBkgnd函数中设置
pDC->SetBkMode(TRANSPARENT);
在这个控件的对话框类中给这个控件关连一个CListCtrlSet类的控件变量,为m_ListCtrl
可是这样根本就达不到我所想要的效果啊

2007-07-05 08:57
余来
Rank: 6Rank: 6
等 级:贵宾
威 望:26
帖 子:956
专家分:18
注 册:2006-8-13
收藏
得分:0 
要透明的话,直接在OnEraseBkgnd中返回TRUE;
如下:
BOOL XXX::OnEraseBkgnd(CDC * pdc)
{
return TURE;
}

注意不要调用调用基类的OnEraseBkgnd,直接返回TRUE

2007-07-05 09:55
bill8888
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2007-3-10
收藏
得分:0 
直接返回TRUE是能变为透明,但它是把没有项目的地方变为透明,而有数据的地方还是不透明啊

2007-07-05 11:01
余来
Rank: 6Rank: 6
等 级:贵宾
威 望:26
帖 子:956
专家分:18
注 册:2006-8-13
收藏
得分:0 
有项目的地方就需要重画 DrawItem

2007-07-05 11:39
bill8888
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2007-3-10
收藏
得分:0 

余来,麻烦你帮我写一下,
就是改变这个控件里的所有背景(用一位图填充),
帮我定一下这两个消息函数:
DrawItem
OnEraseBkgnd
以及设置背景为透明的在DrawItem中的代码
先谢谢了


2007-07-05 14:51
快速回复:[求助]改变List Contrl控件的背景色?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012295 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved