SDK ListView改变某一行某一列的文字颜色/背景颜色
来源:互联网 发布:ubuntu 中文环境 编辑:程序博客网 时间:2024/06/08 06:52
注册窗口类,CreateWindowEx创建窗口,同样用这个函数创建一个ListView,添加一些ITEM。
在窗口消息处理函数中处理WM_NOTIFY的NM_CUSTOMDRAW消息,代码框架如下
LRESULT DoMsg(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam){switch (uMsg){case WM_CREATE:{//do some thing}break;case WM_CLOSE:{//do some thing}break;case WM_NOTIFY:{LPNMHDR pNmhdr = (LPNMHDR)lParam;switch (pNmhdr->code){case NM_CUSTOMDRAW:{//请确保是ListView的消息,这里未判断LPNMLVCUSTOMDRAW lplvcd = (LPNMLVCUSTOMDRAW)lParam;switch (lplvcd->nmcd.dwDrawStage){case CDDS_PREPAINT:{return CDRF_NOTIFYSUBITEMDRAW;} break;case CDDS_ITEMPREPAINT:{return CDRF_NOTIFYSUBITEMDRAW;}break;case (CDDS_ITEMPREPAINT|CDDS_SUBITEM):{/*lplvcd->nmcd.dwItemSpec//行索引lplvcd->iSubItem//列索引lplvcd->clrText = RGB(255, 0, 0);//改变文字颜色lplvcd->clrTextBk//背景颜色,未测试*/return CDRF_DODEFAULT;}break;}}break;default:break;}}break;default:return DefWindowProc(hWnd, uMsg, wParam, lParam);}return S_OK;}
需要注意的是,如果你不打算改变某SubItem的颜色,也要对clrText进行修改,否则使用的就是上一次的颜色。
更多信息请参阅MSDN,关键字"NM_CUSTOMDRAW"
- SDK ListView改变某一行某一列的文字颜色/背景颜色
- sdk改变ListCtrl某一行的字体颜色或者背景颜色
- 改变ListView某一行或者几行的颜色
- 根据Repeater某一列的值,将Repeater控件中的某一行改变颜色
- 设置某一行背景颜色的CListCtrl
- 设置某一行背景颜色的CListCtrl
- 设置某一行背景颜色的CListCtrl
- 解决android的改变listview中某一列的颜色或者值,页面无变化的问题。
- 改变CListCtrl中某一行的颜色
- ListView点击某一项实现改变颜色
- mfc中设置listcontrol某一行的背景和文字颜色
- 设置CListCtrl某一行背景颜色
- 灵活设置表格的某一列颜色
- vb 设置msflexgrid 某一行的背景颜色
- 鼠标停留在GridView某一行时 行的颜色改变
- 鼠标停留在GridView某一行时行的颜色改变
- 指定改变ListCtrl中某一行的颜色
- 指定改变CListCtrl中某一行的颜色
- Apache下设置虚拟主机之基于IP的虚拟主机
- 《深入理解Linux内核》读书笔记-第二章-内存寻址(1)
- VirtualBox中如何全屏显示
- 错误和异常
- jquery ajax post 回调函数不执行的原因分析和解决办法
- SDK ListView改变某一行某一列的文字颜色/背景颜色
- flex与java--Blazeds学习(配置)
- 双系统Windows + Linux硬盘分区方案
- C++头文件一览
- 探究php底层运行机制
- “default”标签跳过“ ”的初始化操作问题解决
- Windows程序设计_笔记01
- 内存存储区域的讨论
- Servlet 中实现验证码