使用 CHeaderCtrl

CHeaderCtrl 是用来展示列标题的控件,常用于电子表格或列表视图。它可以分为多个部分,每个部分可以有标题。通过CHeaderCtrl,可以为自定义的数据布局提供列标签。CListCtrl 和 CListView 中通常内置了标头控件,但有时需要单独使用以获得更精确的控制。可以通过 GetHeaderCtrl 函数访问嵌入的标头控件。CHeaderCtrl 支持自定义样式,如 HDS_BUTTONS 或 HDS_HOTTRACK,以及拖放功能,允许用户重新排序列。此外,可以使用图像列表为标头项显示图像,并通过处理 HDN_BEGINDRAG 和 HDN_ENDDRAG 通知来扩展拖放行为。
摘要由CSDN通过智能技术生成

使用由 CHeaderCtrl 类表示的标头控件显示纵栏式列表的列标头。例如,标头控件对于实现电子表格中的列控件应该很有用。

标头控件通常分为叫做标头项的各个部分,每个部分有一个关联文本或数字列的标题。根据设置的样式,可以为用户提供若干操作标头项的直接方式。

注意   CListCtrl 提供嵌入标头控件,而 CListView  MFC 类中封装 CListCtrl。通常,可考虑使用 CHeaderCtrl 为想要自己绘制的列表加标签。

标头控件和列表控件 (List Control)

大多数情况下,使用嵌入 CListCtrl  CListView 对象中的标头控件。但在某些情况中,最好使用单独的标头控件对象,如操作 CView 派生的对象中按行或列排列的数据。在这些情况下,需要进一步控制嵌入标头控件的外观和默认行为。

通常情况下,当希望标头控件提供标准的默认行为时,可能需要改用 CListCtrl  CListView。当需要嵌入列表视图公共控件中的默认标头控件功能时,使用 CListCtrl。当需要嵌入视图对象中的默认标头控件功能时,使用 CListView

注意   如果列表视图 (ListView) 控件是使用 LVS_REPORT 样式创建的,则这些控件只包含内置标头控件。

大多数情况下,可以通过更改包含列表视图 (ListView) 控件的样式来修改嵌入标头控件的外观。另外,可以通过父列表视图 (ListView) 控件的成员函数获取有关标头控件的信息。但是,若要完全控制和访问嵌入标头控件的属性和样式,建议获取指向标头控件对象的指针。

可通过调用各自类的 GetHeaderCtrl 成员函数,从 CListCtrl  CListView 访问嵌入标头控件对象。以下代码对此进行了说明:

CListCtrl& refList = GetListCtrl();

CHeaderCtrl* pCtrl = refList.GetHeaderCtrl();

ASSERT(pCtrl != NULL);

//perform any needed operations on the header

//using pHeader

标头控件示例

LISTHDR 示例应用程序对列表视图 (ListView) 控件(由 CListCtrl 对象实现)和嵌入标头控件(由 CHeaderCtrl 对象实现)的各种属性和样式进行了说明。

有关标头控件的示例,请参见资源管理器中的右边窗格和 Platform SDK 中的主题标头控件

标头控件中的标头项

您对组成标头控件 (CHeaderCtrl) 的标头项的外观和行为有相当大的控制。每个标头项可以包含一个字符串,一个位图图像,一个来自关联图像列表的图像,或一个关联应用程序定义的 32 位值。字符串、位图或图像显示在标头项中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值