以下是 CListCtrl::GetItem 方法的原型:
BOOL GetItem(LPLVITEM pItem) const;
其中,LPLVITEM 是一个指向 LVITEM 结构的指针,LVITEM 结构包含了有关列表视图项的信息。以下是 LVITEM 结构的一些关键成员:
typedef struct tagLVITEM {
UINT mask;
int iItem;
int iSubItem;
UINT state;
UINT stateMask;
LPTSTR pszText;
int cchTextMax;
int iImage;
LPARAM lParam;
int iIndent;
int iGroupId;
UINT cColumns; // 使用 CListCtrl::GetItemColumns 方法时可能用到
PUINT puColumns; // 使用 CListCtrl::GetItemColumns 方法时可能用到
int* piColFmt; // 使用 CListCtrl::GetItemColumns 方法时可能用到
int iGroup; // 使用 CListCtrl::GetItemGroup 方法时可能用到
} LVITEM, *LPLVITEM;
以下是一个简单的示例,演示如何使用 CListCtrl::GetItem 方法获取列表控件中指定项的信息:
CListCtrl myListCtrl;
// 获取第一项的信息
LVITEM lvItem;
lvItem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
lvItem.iItem = 0; // 要获取的项的索引
lvItem.iSubItem = 0; // 要获取的子项的索引,通常为 0
lvItem.pszText = new TCHAR[256]; // 用于存储文本的缓冲区
lvItem.cchTextMax = 256; // 缓冲区大小
if (myListCtrl.GetItem(&lvItem)) {
// 成功获取项的信息
// 可以使用 lvItem 中的数据,例如 lvItem.pszText
} else {
// 获取项信息失败
// 可以进行相应的处理
}
delete[] lvItem.pszText; // 释放分配的缓冲区
在这个示例中,我们设置了 LVITEM 结构的一些成员,然后调用 CListCtrl::GetItem 方法,将 LVITEM 结构传递给它,以获取指定项的信息。在成功获取信息后,您可以使用 LVITEM 结构的成员来访问有关该项的详细信息。
转载请注明出处:http://www.zyzy.cn/article/detail/18518/MFC/CListCtrl