NMHDDISPINFOA 是 Win32 API 中的一个结构体,通常用于通知消息 HDN_GETDISPINFOA 中。这个消息通常与 Windows 控件中的列表头(Header Control)相关。结构体的定义如下:
typedef struct tagNMHDDISPINFOA {
    NMHDR       hdr;
    int         iItem;
    UINT        mask;
    LPSTR       pszText;
    int         cchTextMax;
    int         iImage;
    LPARAM      lParam;
#if (_WIN32_IE >= 0x0500)
    int         iOrder;
#endif
#if (_WIN32_WINNT >= 0x0600)
    UINT        type;
    PVOID       pvFilter;
#endif
} NMHDDISPINFOA, *LPNMHDDISPINFOA;

结构体成员的含义如下:

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

  •  iItem: 表示与请求信息相关的项目的索引。

  •  mask: 用于指定要获取或设置的字段。它可以是 HDI_TEXT、HDI_IMAGE、HDI_LPARAM、HDI_ORDER、HDI_WIDTH、HDI_FORMAT 等常量的组合。

  •  pszText: 指向一个缓冲区,用于接收或存储项目的文本。

  •  cchTextMax: 指定 pszText 缓冲区的大小(以字符为单位)。

  •  iImage: 用于接收或存储项目的图像索引。

  •  lParam: 用于接收或存储与项目关联的应用程序定义的数据。

  •  iOrder: 如果 mask 中包含 HDI_ORDER,这个成员用于接收或存储项目的显示顺序。

  •  type: 如果 _WIN32_WINNT 大于等于 0x0600,则用于接收或存储项目的类型。

  •  pvFilter: 如果 _WIN32_WINNT 大于等于 0x0600,则用于接收或存储一个指向过滤器数据的指针。


HDN_GETDISPINFOA 消息通常在 Header Control 的 Owner-Draw 模式下使用,用于请求关于 Header Control 中项的显示信息。应用程序可以响应此消息,提供相应的文本、图像等信息。

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


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