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

结构体成员的含义如下:

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

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

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

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


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

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


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