在 MFC 的 CListCtrl 类中,确实存在名为 GetItemState 的公共方法,该方法用于获取列表控件中指定项的状态。以下是 GetItemState 方法的声明:
UINT GetItemState(int nItem, UINT nMask) const;

这个方法接受两个参数:

  •  nItem:项的索引。

  •  nMask:位掩码,指定你想获取的状态标志。


返回值是表示项状态的位标志。你可以使用 LVIS_XXX 常量来检查返回值中的状态。

以下是一个示例:
CListCtrl myListCtrl;
int itemIndex = 2; // 假设你要获取第三项的状态

UINT itemState = myListCtrl.GetItemState(itemIndex, LVIS_SELECTED);
if (itemState & LVIS_SELECTED)
{
    // 该项被选中
}
else
{
    // 该项未被选中
}

在这个示例中,itemState 变量将包含第三项的选中状态。你可以使用其他 LVIS_XXX 常量来检查项的其他状态,如 LVIS_FOCUSED、LVIS_CUT、LVIS_DROPHILITED 等。

请注意,如果你需要获取项的所有状态标志,可以使用 GetItemState 方法的第二个参数 nMask 为 LVIS_ALL。


转载请注明出处:http://www.zyzy.cn/article/detail/18602/MFC/CListCtrl