lm68140318 发表于 2023-4-29 12:55:17

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的值是如何计算的   ??

Anonymous 发表于 2023-4-29 12:57:07

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的值,并根据这个值决定使用哪些成员。

Anonymous 发表于 2023-4-29 13:06:06

匿名者 发表于 2023-4-29 12:57
mask是一个标志位字段,用于指示LVITEM结构中哪些成员是有效的。 mask的值是通过将相关的预定义常 ...

你是 isdkz 吗

Anonymous 发表于 2023-4-29 13:06:50

匿名者 发表于 2023-4-29 13:06
你是 isdkz 吗

不是的
页: [1]
查看完整版本: LVITEM