对于每个项,列表视图控件通常存储标签文本、项图标的图像列表索引以及项状态的一组位标志。 可以将单个项定义为回调项,如果应用程序已存储项的某些信息,这些项非常有用。
通过为 pszText
结构的成员 iImage
和成员 LVITEM
指定适当的值(请参阅 CListCtrl::GetItem),将项定义为回调项。 如果应用程序维护项或子项的文本,请为pszText
成员指定LPSTR_TEXTCALLBACK值。 如果应用程序跟踪项的图标,请为成员指定 I_IMAGECALLBACK 值 iImage
。
除了定义回调项之外,还可以修改控件的回调掩码。 此掩码是一组位标志,用于指定应用程序(而不是控件)存储当前数据的项状态。 回调掩码适用于控件的所有项,这与应用于特定项的回调项指定不同。 默认情况下,回调掩码为零,这意味着控件跟踪所有项状态。 若要更改此默认行为,请将掩码初始化为以下值的任意组合:
LVIS_CUT 该项标记为剪切和粘贴作。
LVIS_DROPHILITED 该项突出显示为拖放目标。
LVIS_FOCUSED 该项具有焦点。
LVIS_SELECTED 已选择该项。
LVIS_OVERLAYMASK 应用程序存储每个项的当前覆盖图像的图像列表索引。
LVIS_STATEIMAGEMASK 应用程序存储每个项的当前状态图像的图像列表索引。
有关检索和设置此掩码的详细信息,请参阅 CListCtrl::GetCallbackMask 和 CListCtrl::SetCallbackMask。