HDITEMW 结构 (commctrl.h)
包含有关标头控件中项的信息。 此结构取代了 HD_ITEM 结构。
语法
typedef struct _HD_ITEMW {
UINT mask;
int cxy;
LPWSTR pszText;
HBITMAP hbm;
int cchTextMax;
int fmt;
LPARAM lParam;
int iImage;
int iOrder;
UINT type;
void *pvFilter;
UINT state;
} HDITEMW, *LPHDITEMW;
成员
mask
类型: UINT
指示哪些其他结构成员包含有效数据或必须填充的标志。 此成员可以是以下值的组合:
值 | 含义 |
---|---|
|
hbm 成员有效。 |
|
HDM_GETITEM处理消息时,标头控件可能没有完成请求所需的所有值。 在这种情况下,控件必须通过 HDN_GETDISPINFO 通知将值调用回应用程序。 如果HDM_GETITEM消息中传递了 HDI_DI_SETITEM ,则控件将缓存从 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
项字符串的长度,以 TCHAR为单位。 如果要从控件检索文本,则此成员必须包含 pszText 指定的地址处的TCHAR 数。
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 指示整数。 使用 HDFT_ISSTRING 标志时 ,pvFilter 是指向 HDTEXTFILTER 结构的指针。
state
类型: UINT
状态。 此成员唯一有效的受支持值如下:
值 | 含义 |
---|---|
|
该项具有键盘焦点。 |
注解
注意
commctrl.h 标头将 HDITEM 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | commctrl.h |