sdk改变ListCtrl某一行的字体颜色或者背景颜色
来源:互联网 发布:seo自学论坛 编辑:程序博客网 时间:2024/06/06 18:55
ListCtrl的字体颜色如果直接通过SetTextColour设置的话会改变所有行的字体颜色,sdk的对话框工程想要改变ListCtrl的某一行颜色需要注意一下几点:
1.在ListCtrl的父窗口响应WM_NOTIFY消息。
2.处理WM_NOTIFY的NM_CUSTOMDRAW消息,处理完之后通过SetWindowLong设置对话框返回结果。
3.处理完返回结果后对话框的回调函数要返回1。
具体代码如下:
LRESULT TableDraw (LPARAM lp){int iRow;LPNMLVCUSTOMDRAW pListDraw = (LPNMLVCUSTOMDRAW)lp;switch(pListDraw->nmcd.dwDrawStage){case CDDS_PREPAINT:return (CDRF_NOTIFYPOSTPAINT | CDRF_NOTIFYITEMDRAW);case CDDS_ITEMPREPAINT:{//pListDraw->clrText = RGB(0, 0, 255);pListDraw->clrTextBk = RGB(221, 222, 201);}return CDRF_NEWFONT;default:break;}return CDRF_DODEFAULT;}
VOID OnNotify(HWND hdlg, WPARAM wp, LPARAM lp){NMHDR *header = (LPNMHDR)lp;if (s_dev_list == header->hwndFrom && NM_CUSTOMDRAW == header->code){LPNMLISTVIEW pnm;pnm = (LPNMLISTVIEW)lp;if(pnm->hdr.hwndFrom == s_dev_list && pnm->hdr.code == NM_CUSTOMDRAW){SetWindowLong(hdlg, DWL_MSGRESULT, long(TableDraw(lp)));}}}BOOL CALLBACK MainProc(HWND hdlg, UINT msg, WPARAM wp, LPARAM lp){int ret = 0;switch(msg){case WM_INITDIALOG:{OnInitDialog(hdlg);}break;case WM_NOTIFY:{OnNotify(hdlg, wp, lp);ret = 1;}break;case WM_CLOSE:EndDialog(hdlg, 0);break;default:break;}return ret;}
0 0
- sdk改变ListCtrl某一行的字体颜色或者背景颜色
- 改变ListCtrl某行的背景色或者字体颜色
- 改变ListCtrl某行的背景色或者字体颜色
- 改变ListCtrl某行的背景色或者字体颜色
- SDK ListView改变某一行某一列的文字颜色/背景颜色
- 设置ListCtrl列表控件其中某一行的字体和背景颜色
- 设置ListCtrl列表控件其中某一行的字体和背景颜色
- 设置ListCtrl列表控件其中某一行的字体和背景颜色
- 指定改变ListCtrl中某一行的颜色
- EXTJS根据值Value改变gridpanel单元格背景颜色或者设置整行字体颜色
- 改变ListView某一行或者几行的颜色
- 根据绑定的值的不同改变gridview里某一单元格的字体或背景颜色
- 改变listCtrl或 CTreeCtrl中的字体颜色
- 改变treeview中节点的背景颜色和字体颜色
- VC改变控件的背景颜色 字体 文本颜色
- VC改变控件的背景颜色 字体 文本颜色
- ListView 中 背景颜色 和字体颜色的改变
- RadioGroup 的 RadioButton 选择改变字体颜色和背景颜色
- 13周。。项目六。。文件输入。。处理成绩(3)
- 《unix高级环境编程》进程控制——exec序列函数
- 一次分布式数据采集中的MSSQLSERVER技术总结
- 设备节点创建过程源代码分析
- 发明专利申请的一些内容
- sdk改变ListCtrl某一行的字体颜色或者背景颜色
- 破坏城市
- 第13周 项目1-5 向数组内插入元素
- SDUTOJ 1463 C++与Java
- 《unix高级环境编程》进程控制——解释器文件
- 单调访问结构 非单调访问结构
- jenkins 设置代理
- solr-4.10.2 安装
- Windows命令行下编译包含中文字符的Java文件报错