改变 CListCtrl、CHeaderCtrl 高度、字体、颜色和背景
来源:互联网 发布:美知教育 编辑:程序博客网 时间:2024/06/05 15:47
摘要
用CListCtrl来显示数据比较方便,有时候我们需要标注某一列或某一个单元格的背景和字体颜色,或者需要改变一下行高和字体大小,CListCtrl要改变这些并不是很方便。本文将介绍如何派生一个类来改变CListCtrl及其表头的高度、字体大小、列背景颜色、单元格背景颜色、列字体颜色、单元格字体颜色。
关键字: 自绘 子类化 颜色 CListCtrl CHeaderCtrl
一、 实现过程
1.表头修改
新建一个MFC类CHeaderCtrlCl,其基类为CHeaderCtrl,响应OnPaint消息实现自绘,实现代码请看源代码(由于代码较占篇幅,所以就不贴上来了,抱歉),在头文件中定义函数
LRESULT OnLayout( WPARAM wParam, LPARAM lParam ),之后手动添加消息响应ON_MESSAGE(HDM_LAYOUT, OnLayout),在消息响应中改变高度,实现代码如下:2. 表的修改
新建一个MFC类CListCtrlCl,其基类为CListCtrl,定义一个CHeaderCtrlCl的成员变量m_Header,重载PreSubclassWindow(),在函数中修改控件类型为自绘模式,然后子类化表头,代码如下:添加成员变量,保存一些基本信息。重载DrawItem()实现自绘,实现代码请参照代码。 手动添加消息宏ON_WM_MEASUREITEM_REFLECT(),添加下面的函数,实现修改行高。添加消息处理覆盖基类InsertColumn进行列信息保存二、运行效果图如下:
三、使用方法
把HeaderCtrlCl.h, HeaderCtrlCl.cpp, ListCtrlCl.h, ListCtrlCl.cpp添加到你的工程中,在拖一个CListCtrl控件到对话框上,添加成员变量,然后在头文件中#include “ListCtrlCl.h”,把刚添加的成员变量类型改为 CListCtrlCl ,在对话框的OnInitDialog()中添加初始化代码:
用CListCtrl来显示数据比较方便,有时候我们需要标注某一列或某一个单元格的背景和字体颜色,或者需要改变一下行高和字体大小,CListCtrl要改变这些并不是很方便。本文将介绍如何派生一个类来改变CListCtrl及其表头的高度、字体大小、列背景颜色、单元格背景颜色、列字体颜色、单元格字体颜色。
关键字: 自绘 子类化 颜色 CListCtrl CHeaderCtrl
一、 实现过程
1.表头修改
新建一个MFC类CHeaderCtrlCl,其基类为CHeaderCtrl,响应OnPaint消息实现自绘,实现代码请看源代码(由于代码较占篇幅,所以就不贴上来了,抱歉),在头文件中定义函数
LRESULT OnLayout( WPARAM wParam, LPARAM lParam ),之后手动添加消息响应ON_MESSAGE(HDM_LAYOUT, OnLayout),在消息响应中改变高度,实现代码如下:2. 表的修改
新建一个MFC类CListCtrlCl,其基类为CListCtrl,定义一个CHeaderCtrlCl的成员变量m_Header,重载PreSubclassWindow(),在函数中修改控件类型为自绘模式,然后子类化表头,代码如下:添加成员变量,保存一些基本信息。重载DrawItem()实现自绘,实现代码请参照代码。 手动添加消息宏ON_WM_MEASUREITEM_REFLECT(),添加下面的函数,实现修改行高。添加消息处理覆盖基类InsertColumn进行列信息保存二、运行效果图如下:
三、使用方法
把HeaderCtrlCl.h, HeaderCtrlCl.cpp, ListCtrlCl.h, ListCtrlCl.cpp添加到你的工程中,在拖一个CListCtrl控件到对话框上,添加成员变量,然后在头文件中#include “ListCtrlCl.h”,把刚添加的成员变量类型改为 CListCtrlCl ,在对话框的OnInitDialog()中添加初始化代码:
0 0
- [转]改变 CListCtrl、CHeaderCtrl 高度、字体、颜色和背景
- 改变 CListCtrl、CHeaderCtrl 高度、字体、颜色和背景
- 改变 CListCtrl、CHeaderCtrl 高度、字体、颜色和背景
- 改变 CListCtrl、CHeaderCtrl 高度、字体、颜色和背景
- 改变 CListCtrl、CHeaderCtrl 高度、字体、颜色和背景
- 改变 CListCtrl、CHeaderCtrl 高度、字体、颜色和背景
- 改变 CListCtrl、CHeaderCtrl 高度、字体、颜色和背景
- 改变 CListCtrl、CHeaderCtrl 高度、字体、颜色和背景
- 改变 CListCtrl、CHeaderCtrl 高度、字体、颜色和背景
- 改变 CListCtrl、CHeaderCtrl 高度、字体、颜色和背景
- 改变 自绘 CListCtrl、CHeaderCtrl 高度、字体、颜色和背景及其动态创建中的问题
- [原创]可改变单元格字体和背景颜色的CListCtrl
- 改变Linux 字体和背景颜色
- RadioGroup选择改变背景和字体颜色
- 改变treeview中节点的背景颜色和字体颜色
- VC改变空间背景颜色字体颜色和大小
- ListView 中 背景颜色 和字体颜色的改变
- DEV中背景颜色和字体颜色改变
- Embedding Jetty 创建简单的内嵌服务器
- Windows CE下驱动程序开发基础
- GameFolder - 简约、轻松管理电脑游戏
- 子元素浮动,父元素高度为0解决方法
- WinCE6.0中应用程序如何直接访问物理空间
- 改变 CListCtrl、CHeaderCtrl 高度、字体、颜色和背景
- “Cannot load php5apache2_4.dll into server”问题的解决方法
- 设计模式从何而来?
- 黑马程序员_面向对象—>多态
- VC代码实现WINCE 软重启
- 化学专业的女生
- java下Class.forName的作用是什么,为什么要使用它
- 64位Ubuntu 11.10下编译android gcc版本过高问题解决
- java下Class.forName的作用是什么,为什么要使用它