LVITEM
typedef struct _LVITEM {UINT mask; //说明LVITEM结构中哪些成员有效
int iItem; //项目的索引值(可以视为行号)从0开始
int iSubItem; //子项的索引值(可以视为列号)从0开始
UINT state; //子项的状态
UINT stateMask; //状态有效的屏蔽位
LPTSTR pszText; //主项或子项的名称
int cchTextMax; //pszText所指向的缓冲区大小
int iImage; //关联图像列表中指定图像的索引值
LPARAM lParam; //程序定义的32位参数
int iIndent; //表示图像位置缩进的单位
} LVITEM, FAR *LPLVITEM;
我的问题:mask的值是如何计算的 ?? mask是一个标志位字段,用于指示LVITEM结构中哪些成员是有效的。 mask的值是通过将相关的预定义常量进行按位或(bitwise OR)操作而得到的。这些预定义常量通常在头文件中定义,并且它们的值是 2 的幂,这使得它们可以用一个整数表示。
以下是一些与LVITEM结构相关的常量:
- LVIF_TEXT:表示pszText成员有效。
- LVIF_IMAGE:表示iImage成员有效。
- LVIF_PARAM:表示lParam成员有效。
- LVIF_STATE:表示state和stateMask成员有效。
- LVIF_INDENT:表示iIndent成员有效。
- LVIF_NORECOMPUTE:防止控件自动重新计算某些值。
例如,如果你想设置mask使得pszText和iImage成员有效,你可以这样计算mask的值:
mask = LVIF_TEXT | LVIF_IMAGE;
这会将LVIF_TEXT和LVIF_IMAGE常量的值按位或(bitwise OR)在一起。当你在使用LVITEM结构时,系统会检查mask的值,并根据这个值决定使用哪些成员。 匿名者 发表于 2023-4-29 12:57
mask是一个标志位字段,用于指示LVITEM结构中哪些成员是有效的。 mask的值是通过将相关的预定义常 ...
你是 isdkz 吗 匿名者 发表于 2023-4-29 13:06
你是 isdkz 吗
不是的
页:
[1]