LVITEMA 是 Win32 API 中定义的结构,用于在 ListView 控件中设置或检索项的属性。以下是该结构的定义:
typedef struct tagLVITEMA {
    UINT mask;        // 标志,指定要设置或检索的字段
    int iItem;        // 项的索引
    int iSubItem;     // 子项的索引
    UINT state;       // 项的状态
    UINT stateMask;   // 用于修改 state 字段的掩码
    LPSTR pszText;    // 项的文本
    int cchTextMax;   // pszText 缓冲区的最大字符数
    int iImage;       // 显示在项上的图像的索引
    LPARAM lParam;    // 用户定义的参数
#if (_WIN32_IE >= 0x0300)
    int iIndent;      // 缩进的宽度
#endif
#if (_WIN32_WINNT >= 0x501)
    int iGroupId;     // 组的标识符
    UINT cColumns;    // 子项的列数
    PUINT puColumns;  // 指向列数组的指针
#endif
#if (_WIN32_WINNT >= 0x0600)
    int* piColFmt;    // 指向列格式数组的指针
    int iGroup;        // 组的索引
#endif
} LVITEMA, *LPLVITEMA;

这个结构用于设置或检索 ListView 控件中项的属性。以下是结构成员的解释:

  •  mask:标志,指定要设置或检索的字段,可以是以下常量之一或它们的组合:

  - LVIF_TEXT:pszText 和 cchTextMax 字段有效。
  - LVIF_IMAGE:iImage 字段有效。
  - LVIF_PARAM:lParam 字段有效。
  - LVIF_STATE:state 和 stateMask 字段有效。
  - LVIF_INDENT:iIndent 字段有效。
  - LVIF_GROUPID:iGroupId 字段有效。
  - LVIF_COLUMNS:cColumns 和 puColumns 字段有效。
  - LVIF_COLFMT:piColFmt 字段有效。

  •  iItem:项的索引。


  •  iSubItem:子项的索引。


  •  state:项的状态。


  •  stateMask:用于修改 state 字段的掩码。


  •  pszText:项的文本。


  •  cchTextMax:pszText 缓冲区的最大字符数。


  •  iImage:显示在项上的图像的索引。


  •  lParam:用户定义的参数。


  •  iIndent(仅在 Windows 2000 及更高版本中可用):缩进的宽度。


  •  iGroupId 和 cColumns(仅在 Windows XP 及更高版本中可用):用于组织项的分组信息。


  •  puColumns(仅在 Windows XP 及更高版本中可用):指向列数组的指针,指定项的每个子项所在的列。


  •  piColFmt 和 iGroup(仅在 Windows Vista 及更高版本中可用):用于扩展列和组的信息。


使用这个结构,您可以在 ListView 控件中设置或检索项的各种属性。在使用之前,需要初始化 mask 字段以指定要设置或检索的字段,并根据需要设置其他字段。


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