HDITEMA 结构 (commctrl.h)
包含有关标头控件中的项的信息。 此结构取代 HD_ITEM 结构。
语法
typedef struct _HD_ITEMA {
UINT mask;
int cxy;
LPSTR pszText;
HBITMAP hbm;
int cchTextMax;
int fmt;
LPARAM lParam;
int iImage;
int iOrder;
UINT type;
void *pvFilter;
UINT state;
} HDITEMA, *LPHDITEMA;
成员
mask
类型:UINT
指示哪些其他结构成员包含有效数据的标志,或者必须填充。 此成员可以是以下值的组合:
价值 | 意义 |
---|---|
|
hbm 成员有效。 |
|
处理消息 HDM_GETITEM时,标头控件可能没有完成请求所需的所有值。 在这种情况下,控件必须通过 HDN_GETDISPINFO 通知将应用程序调用回应用程序以获取值。 如果HDI_DI_SETITEM已在 HDM_GETITEM 消息中传递,控件将缓存从HDN_GETDISPINFO返回的任何值(否则这些值保持不变)。 |
|
fmt 成员有效。 |
|
类型 和 pvFilter 成员有效。 这用于筛选出 类型 成员中指定的值。 |
|
与HDI_WIDTH相同。 |
|
iImage 成员有效,并指定要与项一起显示的图像。 |
|
lParam 成员有效。 |
|
iOrder 成员有效,并指定项的顺序值。 |
|
版本 6.00 及更高版本。 状态 成员有效。 |
|
pszText 和 cchTextMax 成员有效。 |
|
cxy 成员有效,并指定项的宽度。 |
cxy
类型:int
项的宽度或高度。
pszText
类型:LPTSTR
指向项字符串的指针。 如果要从控件检索文本,则必须初始化此成员以指向字符缓冲区。 如果此成员设置为LPSTR_TEXTCALLBACK,控件将通过发送 HDN_GETDISPINFO 通知代码来请求此项的文本信息。 请注意,尽管标头控件允许将任何长度的字符串存储为项文本,但仅显示前 260 TCHAR。
hbm
类型:HBITMAP
项位图的句柄。
cchTextMax
类型:int
项字符串的长度,以 TCHARs为单位。 如果要从控件中检索文本,则此成员必须包含由 pszText指定的地址处 TCHARs 的数目。
fmt
类型:int
指定项格式的标志。
价值 | 意义 |
---|---|
|
设置以下标志之一以指定文本理由: |
|
项的内容居中。 |
|
项的内容是左对齐的。 |
|
项的内容右对齐。 |
|
设置以下标志之一以控制显示: |
|
该项显示位图。 |
|
位图显示在文本右侧。 |
|
标头控件的所有者绘制项。 |
|
该项显示字符串。 |
|
上述值可以与: |
|
显示图像列表中的图像。 通过发送 HDM_SETIMAGELIST 消息来指定图像列表。 在此结构的 iImage 成员中指定图像的索引。 |
|
隔离与上表中列出的三个对齐标志对应的位。 |
|
通常,窗口显示从左到右的文本(LTR)。 Windows 可以 镜像 来显示从右到左(RTL)的希伯来语或阿拉伯语等语言。 通常,标头文本的读取方向与其父窗口中的文本相同。 如果设置了HDF_RTLREADING,则标头文本将以与父窗口中的文本相反的方向读取。 |
|
版本 6.00 及更高版本。 在此项目上绘制向下箭头。 这通常用于指示当前窗口中的信息按降序对此列进行排序。 此标志不能与HDF_IMAGE或HDF_BITMAP结合使用。 |
|
版本 6.00 及更高版本。 在此项目上绘制向上箭头。 这通常用于指示当前窗口中的信息按升序对此列进行排序。 此标志不能与HDF_IMAGE或HDF_BITMAP结合使用。 |
|
版本 6.00 及更高版本。 该项将显示一个复选框。 仅当标头控件上首次设置 HDS_CHECKBOXES 样式时,标志才有效。 |
|
版本 6.00 及更高版本。 该项将显示一个选中的复选框。 仅当同时设置HDF_CHECKBOX时,标志才有效。 |
|
版本 6.00 及更高版本。 用户操作无法修改项的宽度以调整其大小。 |
|
版本 6.00 及更高版本。 该项显示拆分按钮。 单击拆分按钮时,将发送HDN_DROPDOWN通知。 |
lParam
类型:LPARAM
应用程序定义的项数据。
iImage
类型:int
映像列表中的图像的从零开始的索引。 除了在 hbm 字段中指定的任何图像外,指定图像还会显示在标头项中。 如果 iImage 设置为I_IMAGECALLBACK,则控件将使用 HDN_GETDISPINFO 通知代码请求此项的文本信息。 若要清除图像,请将此值设置为I_IMAGENONE。
iOrder
类型:int
项在标题控件中的显示顺序,从左到右。 也就是说,最左侧项的值为 0。 右侧下一项的值为 1,依此等。
type
类型:UINT
由 pvFilter指定的筛选器的类型。 可能的类型包括:
价值 | 意义 |
---|---|
|
字符串数据。 |
|
数值数据。 |
|
忽略 pvFilter。 |
|
版本 6.00 及更高版本。 日期数据。 pvFilter 成员是指向 SYSTEMTIME 结构的指针。 |
pvFilter
类型:void*
应用程序定义数据项的地址。 数据筛选器类型通过设置成员的标志值来确定。 使用HDFT_ISSTRING标志指示字符串,HDFT_ISNUMBER指示整数。 pvFilter 使用HDFT_ISSTRING标志时,是指向 HDTEXTFILTER 结构的指针。
state
类型:UINT
状态。 此成员唯一有效的受支持值如下:
价值 | 意义 |
---|---|
|
该项具有键盘焦点。 |
言论
注意
commctrl.h 标头将 HDITEM 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista [仅限桌面应用] |
支持的最低服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | commctrl.h |