在 Win32 API 的 Commctrl.h 头文件中,HDITEMA 结构用于描述头部控件(Header Control)中的一个项目(item)。以下是 HDITEMA 结构的定义:
typedef struct {
  UINT      mask;
  int       cxy;
  LPSTR     pszText;
  HBITMAP   hbm;
  int       cchTextMax;
  int       fmt;
  LPARAM    lParam;
  int       iImage;
  int       iOrder;
} HDITEMA, *LPHDITEMA;

结构成员包括:

1. mask: 一个标志掩码,指定结构中哪些成员包含有效数据。可以是以下常量之一或它们的组合:
   - HDI_BITMAP: hbm 字段包含有效数据。
   - HDI_FORMAT: fmt 字段包含有效数据。
   - HDI_IMAGE: iImage 字段包含有效数据。
   - HDI_LPARAM: lParam 字段包含有效数据。
   - HDI_ORDER: iOrder 字段包含有效数据。
   - HDI_SIZE: cxy 字段包含有效数据。
   - HDI_TEXT: pszText 和 cchTextMax 字段包含有效数据。

2. cxy: 项目的宽度或高度,具体取决于头部控件的方向。

3. pszText: 指向包含项目文本的 ANSI 字符串的指针。

4. hbm: HBITMAP 类型的成员,表示与项目相关联的位图。

5. cchTextMax: pszText 缓冲区的大小,以字符为单位。

6. fmt: 表示文本对齐和格式的标志。可以是以下常量之一或它们的组合:
   - HDF_CENTER: 文本居中对齐。
   - HDF_LEFT: 文本左对齐。
   - HDF_RIGHT: 文本右对齐.
   - HDF_BITMAP: 项目包含一个位图。
   - HDF_STRING: 项目包含一个字符串。

7. lParam: 一个应用程序定义的32位值,与项目关联。

8. iImage: 图像的索引。

9. iOrder: 项目的显示顺序。

请注意,上述结构中的 pszText 字段使用 LPSTR 类型,表示它是一个指向 ANSI 字符串的指针。如果您的应用程序使用 Unicode 字符串,可以使用 HDITEMW 结构,它的 pszText 字段类型为 LPWSTR。


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