NMHEADERA 是 Win32 API 中的一个结构体,通常用于通知消息 HDN_ITEMCHANGINGA 和 HDN_ITEMCHANGEDA 中,与 Windows 控件中的列表头(Header Control)相关。这个消息通常在 Header Control 中的某一列的属性发生变化时产生,用于通知应用程序处理列属性的改变事件。结构体的定义如下:
typedef struct tagNMHEADERA {
    NMHDR hdr;
    int iItem;
    int iButton;
    HDITEMA *pitem;
} NMHEADERA, *LPNMHEADERA;

结构体成员的含义如下:

  •  hdr: NMHDR 结构体,包含通知消息的标准头部信息,如消息源、消息码等。

  •  iItem: 表示与列属性变化相关的项目的索引。

  •  iButton: 表示与列属性变化相关的按钮的索引。在 Header Control 中,每一列的右侧都有一个按钮,用于显示下拉菜单或其他与列相关的操作。

  •  pitem: 指向一个 HDITEMA 结构体的指针,该结构体包含了与列属性变化相关的信息。


HDN_ITEMCHANGINGA 和 HDN_ITEMCHANGEDA 消息通常在 Header Control 中的某一列的属性发生变化时发送。应用程序可以响应这些消息,以便执行与列属性变化相关的操作,如改变列的宽度、对齐方式、排序方式等。

请注意,HDITEMA 结构体中的 ANSI 字符串版本,如果你的应用程序是 Unicode 模式,可能需要使用 HDITEMW 结构体,其中的字符串成员为 LPWSTR 类型。


转载请注明出处:http://www.zyzy.cn/article/detail/24919/Win32 API/Commctrl.h/NMHEADERA