CHTReportList控件类
来源:互联网 发布:编辑图片软件 编辑:程序博客网 时间:2024/05/18 01:35
HTControl之CHTReportList控件类
作者
李海涛
日期
2012-10-05
文档只是简要说明,在CHTReportList.h中有各接口和变量的详细说明。还可以下载HTControlDemo进行调试。
http://download.csdn.net/detail/htcontrol/5423895感兴趣的朋友请关注我的资源列表中最新版本
一 替换CHTReportList滚动条
VC提供的CListCtrl已经具有相当丰富的功能,而且效率也很好。此类继承自CListCtrl。但是如果包含CListCtrl控件的界面风格与CListCtrl的滚动条很不协调那就糟糕了。此类提供了去掉CListCtrl默认滚动条,替换成自己绘制的滚动条。这样就不会破坏界面整体表现了。
二 滚动条的任意尺寸
此类替换的滚动条并不需要与默认的滚动条同样的宽度,可以支持任意的宽度,而且不需要滚动条时候滚动条自动消失,控件的客户区占据此空间,这样界面的布局不会受到影响。
三 不受操作系统主题的影响
不同的操作系统主题,各种界面元素的尺寸是不同的,同样的主题也可以调整界面元素的尺寸,但是此类是替换掉默认的滚动条。自绘的滚动条支持任意的尺寸,这就决定了不会受操作系统主题的影响。
四 支持CListCtrl背景图显示
CListCtrl提供了一个设置背景图SetBkImage接口,但是这个接口存在一个问题:窗口内容滚动时,背景图随之滚动,这样就失去了背景图的意义了,搞不懂微软为什么这样设计的(东西方文化差异?其他原因?),CHTReportList类通过重绘可以实现真正意义上的背景图,不会随窗口内容滚动。
五 CListCtrl框选的重绘
CListCtrl默认的框选是一个虚线框,而且存在问题,有时候在窗体上有残留。默认的虚线框可能与整体界面风格很不一致。CHTReportList重绘了框选,而且不受操作系统主题的影响。
六 在CListCtrl某列添加进度条
Flashget, 迅雷,电驴等下载工具的下载列表中下载进度都是绘制的进度条。但是CListCtrl是不支持的。CHTReportList提供在任意列绘制进度条的功能。当然,绘制其它控件元素也是可以的(目前是绘制的进度条,不可能一个类把所有的都支持了)。
七 CListCtrl原有功能全部保留
我看过一些其它的CListCtrl的继承类,很多丧失了一些CListCtrl原有的功能,比如框选只能在空白区开始,CHTReportList是支持在任意位置开始框选的。CHTReportList保留几乎CListCtrl所有原有的功能。
- CHTReportList控件类
- 选择类控件-----ComboBox控件---CheckBox控件
- WPF控件之控件类
- [C#][控件]文本类控件
- 标签控件Label(文本类控件)
- 按钮控件Button(文本类控件)
- 文本框控件TextBox(文本类控件)
- 列表框控件ListBox(选择类控件)
- 复选框控件CheckBox(选择类控件)
- C#:NumericUpDown控件(可调节类控件)
- 分组框控件GroupBox(分组类控件)
- 容器控件Panel(分组类控件)
- 选项卡控件TabControl(分组类控件)
- C#:DataTimePicker控件(可调节类控件)
- C#:MonthCalender控件(可调节类控件)
- ASP:Label控件(文本类控件)
- ASP:TextBox控件(文本类控件)
- ASP:ListBox控件(选择类控件)
- Hibernate教程03_Hibernate核心开发接口介绍
- 你需要的不是重构,而是理清业务逻辑
- 简单的多线程流水线模型(二)
- ios 一步一步学会自定义地图吹出框(CalloutView)-->(百度地图,高德地图,google地图)
- 指针变量与数组名的区别
- CHTReportList控件类
- gpio
- oledb数据库报错汇总
- 谈谈你对摩尔定律的理解,摩尔定律当前还继续有效吗?
- HTTP1.0-1.1差异
- careercup top 150判断字符串中字符是否唯一(字符不重复)
- Hibernate教程03_补充_三种状态深入分析
- Unity3d学习笔记
- 黑马程序员_ADO.NET操作数据库的过程