在 CComboBox 中隐藏组合项

Posted

技术标签:

【中文标题】在 CComboBox 中隐藏组合项【英文标题】:Hiding Combo Items In CComboBox 【发布时间】:2011-06-02 05:48:06 【问题描述】:

是否可以在 MFC 组合框中隐藏特定项目?

我有一个列表,其中包含存储在向量中的 5 个项目 ALPHA-0、BETA-1、GAMA-2、DELTA-3、OMEGA-4

vector<string> mListItems;
CComboBox m_List1;
CComboBox m_List2;

我正在使用这个向量来填充两个组合框。 在 m_List1 中,它应该填充所有 5 个项目,但在 m_List2 中,它应该填充所有项目,但不应该显示 GAMA。 这里的 index for each 用于每个索引的代码中实现不同的业务逻辑。所以我无法从第二个列表中删除项目 GAMA。

请问您有什么建议可以帮助我解决这个问题吗?

可以这样做吗?

【问题讨论】:

您的实现似乎有些奇怪:您依赖组合中的某个日期,但您不知道组合中有哪些数据。为什么您的业务逻辑依赖于组合中的值?为什么不在向量的值中?组合只是一些显示数据的控件。 【参考方案1】:

组合框会显示您在其中添加的任何项目。如果添加了一个项目,它将被显示。

因此,如果您想隐藏某些项目,则需要将它们从组合中移除。这可以通过 CComboBox 中的DeleteString 来完成。

【讨论】:

以上是关于在 CComboBox 中隐藏组合项的主要内容,如果未能解决你的问题,请参考以下文章

VC/MFC中的CComboBox控件使用详解

MFC CComboBox 数据项如何存储?

C ++ MFC从小部件ID添加组合框字符串项

如何在代码隐藏中更改组合框上的选定项

将字符串添加到 MFC 组合框

如何在 WPF 中隐藏组合框的项目