【问题标题】:C++ MFC CComboBox is emptyC++ MFC CComboBox 为空
【发布时间】:2013-01-24 13:27:54
【问题描述】:

我有一个小组合框,我想用 6 个条目填充它...。 我写了这段代码:

CComboBox* dropdownList = ((CComboBox*)GetDlgItem(IDC_PROGRAMDROPDOWN));
dropdownList->Clear();
dropdownList->AddString(L"test");
dropdownList->AddString(L"test2");
dropdownList->InsertString(2,L"test3");
dropdownList->InsertString(3,L"test4");
dropdownList->InsertString(4,L"test5");

如您所见,我尝试了AddString()InsertString()。两者都没有效果。我也试过AddString(),这应该是初始化它的正确方法。

但是,我的组合框是空的。我已经调试过了,这条线被命中但没有效果。

你有什么想法吗?

【问题讨论】:

  • 您好,您可能不小心检查了 CComboBox 属性中的 OWNERDRAW 设置?
  • 你把这段代码放在哪里了?在OnInitDialog,对吗?还是没有?

标签: c++ mfc ccombobox


【解决方案1】:

在对话框编辑器中,确保调整 ComboBox 项的大小,使其高度足以在 ComboBox 展开时包含所有项。默认情况下,它只会是 ComboBox 的“编辑控件”位的高度,它限制了展开高度。

因此,在对话框编辑器中,单击组合框的下拉按钮位,您应该会看到拖动手柄发生了一些变化。拖出新尺寸以考虑下拉列表中的所有项目。

【讨论】:

    【解决方案2】:

    感谢您的所有回答。但这是我的 IDE 的一个丑陋的失败 -.-。我刚刚重新创建了 UI 元素并且它工作了......

    我用相同的属性重新创建了它(复制和粘贴)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-16
      • 1970-01-01
      相关资源
      最近更新 更多