在 MFC(Microsoft Foundation Classes)中,CComboBoxEx 类提供了 GetItem 方法,用于检索与指定索引相关联的项的信息。以下是该方法的基本语法:
BOOL GetItem(LPCITEMIDLIST pidl, COMBOBOXEXITEM& cbei) const;

其中,pidl 是一个指向项标识符列表(ITEMIDLIST)的指针,cbei 是一个用于存储项信息的 COMBOBOXEXITEM 结构。COMBOBOXEXITEM 结构包含了有关项的各种信息,如图像、文本等。

示例代码:
// 假设 m_comboEx 是 CComboBoxEx 对象的一个实例
COMBOBOXEXITEM cbei;
ZeroMemory(&cbei, sizeof(cbei));
cbei.mask = CBEIF_TEXT | CBEIF_IMAGE | CBEIF_SELECTEDIMAGE; // 指定要获取的信息

int nIndex = 2; // 要获取信息的项的索引
if (m_comboEx.GetItem(reinterpret_cast<LPCITEMIDLIST>(nIndex), cbei))
{
    // 成功获取项的信息,可以使用 cbei 结构中的数据
    CString strText = cbei.pszText;
    int nImage = cbei.iImage;
    int nSelectedImage = cbei.iSelectedImage;
    // ...
}
else
{
    // 获取失败,处理错误
}

在这个例子中,cbei.mask 指定了要获取的信息,如文本、图像等。在成功调用 GetItem 后,cbei 结构中存储了相关信息。

请注意,GetItem 方法通常用于与特定的 Shell 控件结合使用,例如用于处理 CComboBoxEx 中的项的特定信息。




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