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