回调项和回调掩码

列表视图控件通常会为它的每一项存储标签文本、项图标的图像列表索引以及表示项状态的一组位标志。 您可以定义单个项作为回调项,当应用程序已经存储某个项的一些信息时,这将很有用。

可通过为 LVITEM 结构的 pszTextiImage 成员指定相应的值来定义一个项作为回调项(参阅 CListCtrl::GetItem)。 如果应用程序保留项或子项的文本,则为 pszText 成员指定 LPSTR_TEXTCALLBACK 值。 如果应用程序跟踪项的图标,则为 iImage 成员指定 I_IMAGECALLBACK 值

除了定义回调项之外,您还可以修改控件的回调掩码。 此掩码是一组位标志,用于指定应用程序(而不是控件)存储当前数据的项状态。 回调掩码适用于控件的所有项,而回调项指示符则不同,它适用于特定项。 回调掩码默认为零,这意味着控件将跟踪所有项状态。 若要更改此默认行为,请将掩码初始化为以下值的任意组合:

  • LVIS_CUT 该项被标记为剪切操作。

  • LVIS_DROPHILITED 该项被标记为拖放目标。

  • LVIS_FOCUSED 该项具有焦点。

  • LVIS_SELECTED 该项处于选中状态。

  • LVIS_OVERLAYMASK 应用程序为每个项存储当前覆盖图像的图像列表索引。

  • LVIS_STATEIMAGEMASK 应用程序为每个项存储当前状态图像的图像列表索引。

有关检索和设置此掩码的更多信息,请参阅 CListCtrl::GetCallbackMaskCListCtrl::SetCallbackMask

另请参阅

使用 CListCtrl
控件