关于CListView和CTreeView的背景图问题?

fenex 2002-01-18 10:23:54
1。CListView:
我用响应OnEraseBkgnd的方法把CListView的背景设成了一张位图,但是列表项的text和image会遮住一部分背景图案,请问如何使text的背景色为透明?

2。CTreeView
同样的遇到了如上的遮挡问题,另外,当展开子项时背景图会同时向下移动,这是怎么回事,如何解决?
...全文
110 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fenex 2002-01-20
  • 打赏
  • 举报
回复
谢谢huashanyjj(舟楚渔),CListView的问题已经解决。
但是CTreeView没有提供SetBkImage方法,不知该如何解决?
fenex 2002-01-19
  • 打赏
  • 举报
回复
该怎么做呢?
spark_zh 2002-01-19
  • 打赏
  • 举报
回复
不要总想着重画list还是tree,过两天还想把滚动条换成自己的图片。这些都不能做的很好。你要想做的漂亮,就自己从头做,从CWnd派生。
但是CTreeCtrl还是不要自己坐了,太麻烦。
Cline 2002-01-19
  • 打赏
  • 举报
回复
有点问题的建议:
HBRUSH CMPlayerDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
...........
m_pListBrush=new CBrush();
m_pListBrush->CreatePatternBrush(pBrushBitmap);
return HBRUSH(m_pListBrush->GetSafeHandle());
............
}
fenex 2002-01-19
  • 打赏
  • 举报
回复
没人知道吗?
fenex 2002-01-19
  • 打赏
  • 举报
回复
谢谢各位的热心帮助。
另,LiGun(GUN):哪里有下载《MFC经典问答》或与之相关问题的解答?
LiGun 2002-01-19
  • 打赏
  • 举报
回复
请参考MFC经典问答一书,上有详细的回答。
huashanyjj 2002-01-19
  • 打赏
  • 举报
回复
在InitInstance()中加入
if (!AfxOleInit())
{
AfxMessageBox("Unable to initialize OLE.\nTerminating application!");
return FALSE;
}
最好在顶部,否则可能不行。
然后在clistview的OnInitialUpdate()
加入
GetListCtrl().SetBkImage("c:\\beaty.gif",TRUE);
即可
如要透明:

GetListCtrl().SetTextBkColor(-1);
一定可以。
VC++经验技巧宝典配套代码06章 包括: 6.1窗体标题栏应用 0332闪烁标题栏的窗体 0333隐藏和显示标题栏 0334拖动没有标题栏的窗体 0335获取标题栏的内容 0336滚动的窗体标题栏 0337无标题对话框的拖动方法 6.2窗体的位置和大小控制 0339不可移动的窗体 0340始终在最上面的窗体 0341跟随鼠标移动的窗体 0342控制窗体的最大化最小化 0343判断窗体是否最小化在任务栏 0345限制窗体的大小 0346使用鼠标按键调整窗体大小 0347根据图片大小显示的窗体 0348获取当前鼠标点处的控件 6.3个性化窗体 0350半透明窗体 0351透明窗体 0352字型窗体 0353圆角窗体 0354以图片的形状显示窗体 0355应用程序背景与桌面融合 0356立体窗口阴影效果 6.4动画窗体界面 0357动画显示窗体 0358淡入淡出的窗体 0359如qq般隐藏的窗体 0360可横向伸展的对话框 0361可纵向伸展的对话框 0362调用office助手 0363屏幕滚动 0364在窗体中显示彩虹文字字幕 0365在窗体中实现文字横拉效果 0366在窗体中实现万花筒效果 0367在窗体中实现动画效果 6.5实用窗体技术 0368随即更换背景的窗体 0369显示欢迎窗体 0370显示关于窗体 0371不使用ESC键关闭窗体 0372关闭窗体前弹出确认对话框 0373在窗体显示前弹出登录对话框 0374设置对话框背景色 0375使用话刷绘制背景色 0376设置窗体颜色渐变 0377将对话框以位图形式保存到磁盘中 0378在对话框中显示HTML文件 0379在对话框中创建视图 0380如何共享对话框资源 0381如何实现窗体继承 0384在对话框中使用CDialogBar 6.6光标应用 0386十字光标定位 0387获得光标的位置坐标 0388限制光标的移动范围 6.7菜单应用 0392在系统菜单中添加菜单项 0393带历史信息的菜单 0394设置菜单是否可用 0395为菜单添加核对标记 0396浮动的菜单 0397单击右键弹出菜单 0398可以下拉的菜单 0399任务栏图盘弹出菜单 0400绘制渐变效果的菜单 0401将菜单项的字体设置为粗体 6.8工具栏和状态栏应用 0402带背景的工具栏 0403在工具栏中添加编辑框 0404具有提示功能的工具栏 0405工具栏按钮的热点效果 0406定义XP风格的工具栏 0407带进度条的状态栏 0408显示系统时间的状态栏 0409显示滚动字幕的状态栏 0410显示动画的状态栏 0411使状态栏随对话框的改变而改变 6.9文档视图结构应用 0412向视图中放置控件 0413分割窗口 0414视图窗口的任意分割 0417滚动视图CScrollView类应用 0418树形视图CTreeView类应用 0419列表视图CListView类应用 0420HTML视图CHtmlView类应用 共78个例子

1,658

社区成员

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

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