【问题标题】:Adding strings to a combobox which is a member of CComboBoxEx将字符串添加到作为 CComboBoxEx 成员的组合框
【发布时间】:2016-11-08 14:13:35
【问题描述】:

我想将关联的图标与每个字符串一起添加到组合框中。我正在使用 CComboBox 类的 MFC 和 CComboBox dosent 给我任何设置图像列表的选项

我尝试使用CComboBoxEx,它是CComboBox 的扩展类 我创建了一个控制变量m_cMyCombo 并尝试添加字符串并设置图像列表。

我正在做m_cMyCombo.AddString(_T("test")),但它断言。我正在尝试将其添加到我的 OnInitDialog() 中,并且我确信控件已经创建,因为它不会在 DoDataExchange() 中给我任何问题

可能是什么问题?

【问题讨论】:

  • "but it asserts" - 失败的表达式很重要。您需要添加断言文本以及未能解决您的问题的源代码。 MFC 中的断言通常表明客户端代码(即您的代码)存在问题。

标签: c++ combobox mfc


【解决方案1】:

您不应调用 AddString() 将项目添加到 CComboBoxEx。相反,您应该致电InsertItem()

COMBOBOXEXITEM item = { 0 };
item.mask = CBEIF_TEXT;
item.iItem = 0;
item.pszText = L"Item 1";
m_comboEx.InsertItem(&item);

COMBOBOXEXITEM 结构还可以让您设置图像列表中的哪个图像用于此项目。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多