求助CListCtrl背景透明问题

度小白 2011-03-29 11:20:42
第一个问题:
使用了CListCtrl的扩展类CListCtrlEx,在带背景图片的对话框中绘制控件,并且CListCtrlEx已经通过NM_CUSTOMDRAW对子项进行了文字背景色和文本颜色设置。
现在遇到了个麻烦,想要实现子项以外的控件区域背景透明(而不是现在的白色底),而子项区域不需要透明。我该怎么实现?
不要告诉我在重载的OnEraseBkgnd中直接返回TRUE,那样我对子项区域的颜色设置就白费了,不可行!

第二个问题:
ClistCtrl的标题头怎么背景透明或者改背景色?



注:我的对话框和控件的大小是需要固定的,列表的项数则动态改变,所以在项数很少(例如只有一两行)时,列表控件下面区域是显示白色网格区,我的目的就是只将这个白色的网格区背景透明显示对话框的背景图。
...全文
566 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
梦境传说 2011-11-15
  • 打赏
  • 举报
回复
你们的问题可解决了,我现在也遇到跟你们一样的问题,怎么实现CListCtrl背景透明,跟对话框背景图片一样。。。
乡客2023 2011-11-09
  • 打赏
  • 举报
回复
z追 问
Scatnow 2011-04-16
  • 打赏
  • 举报
回复
就是说包括滑动条和列名所在的地方,怎么实现?是要自绘么?
Scatnow 2011-04-16
  • 打赏
  • 举报
回复
还有,我光是实现了listtrl背景的透明,如何让整个控件都透明呢?我是新手,请指教,谢谢了
Scatnow 2011-04-16
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 uieasy 的回复:]
据我的了解,标准的listctrl的背景是无法做到完美的透明的。
如果出现滚动条等,或多或少会有问题。
listctrl这块我这边比较熟,有问题,可以联系我。
[/Quote]


请问一下,我实现了背景透明,可是我在listctrl上显示的东西就开始一层一层的覆盖了,我的listtrl里,显示的是我查询出的结果,每次按下按钮都会显示新的数据,所以,会一层一层的覆盖在原来的数据上,请问这个该怎么解决,谢谢
zhujie0128 2011-03-31
  • 打赏
  • 举报
回复
SetLayeredWindowAttributes()
uieasy 2011-03-30
  • 打赏
  • 举报
回复
据我的了解,标准的listctrl的背景是无法做到完美的透明的。
如果出现滚动条等,或多或少会有问题。
listctrl这块我这边比较熟,有问题,可以联系我。
Eleven 2011-03-29
  • 打赏
  • 举报
回复
SetLayeredWindowAttributes()
http://topic.csdn.net/t/20030523/17/1825388.html
类似的帖子~
muzizongheng 2011-03-29
  • 打赏
  • 举报
回复
重载CHeaderCtrl, 自绘, 然后在CListCtrl中子类化。
度小白 2011-03-29
  • 打赏
  • 举报
回复
自己up下。。。
chenjelly 2011-03-29
  • 打赏
  • 举报
回复
这个类:CListCtrlCl……修改列表头,设置颜色,修改行高……
度小白 2011-03-29
  • 打赏
  • 举报
回复
回复2楼:

不行,我还实现了动态删除item的功能,那样的话删除item后会残留影像!

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧