第7节 自绘列表控件
更新于 2026年10月10日
版权声明
第7节 自绘列表控件
自绘列表控件,不但可以按行作不同的绘制,还可以按列作不同的绘制。
打开本章第6节的“Si”工程,本节将继续开发支持自绘的列表控件类,实现带彩色背景的列表控件。
1)在类视图中新建一个列表控件的派生类,如图10-40所示。

图10-40 通过右键菜单添加新类
2)在建立好的组合控件类头文件中,添加一些成员变量和成员函数。


3)在源文件(ColorList.cpp)中修改构造函数代码。

4)在源文件中编写背景填充函数的代码。

5)在源文件中编写图标绘制函数的代码。

6)在源文件中,重写自绘虚函数的代码。(https://www.daowen.com)

7)在主对话框类的头文件中,直接手动改写列表控件的关联变量为CColorList类型,如图10-41所示。

图10-41 修改列表控件的关联变量
8)注意要在主对话框类的头文件中,包含自绘控件类的头文件。

9)在OnColumnclickList函数中添加一行代码,在自绘类内设置排序列的索引,如图10-42所示。

图10-42 添加一行代码
10)编译并运行,测试代码,如图10-43所示。
通过对列表控件自绘,进一步加强了列表控件的美化效果,各行列表项显示不同的彩色背景。当单击列的标头后,排序列的背景比其他列稍变暗,这是模仿Windows资源管理器的排序列的效果。

图10-43 查看运行结果