如何从comboBox中删除重复项

时间:2017-07-04 04:37:22

标签: visual-studio visual-c++ combobox duplicates

我正在从文本文件中读取字符串以填充对话框中的选项。问题是我需要删除列表中的重复值。我正在使用Visual C ++。我使用的是Visual Studio 2008。

2 个答案:

答案 0 :(得分:0)

当您从文本文件中读取项目时,请使用map。它将消除所有重复的条目并将地图条目添加到列表中

答案 1 :(得分:0)

BOOL CRemoveDuplicatedTextInComboBoxDlg::OnInitDialog()
{
    ...
    m_wholeText.AddString(_T("2"));
    m_wholeText.AddString(_T("3"));
    ...
    m_wholeText.AddString(_T("6"));
}

void CRemoveDuplicatedTextInComboBoxDlg::OnBnClickedRemove()
{
    // TODO: Add your control notification handler code here
    INT nCount = m_wholeText.GetCount();
    if (nCount <= 0) return;
    CString csz_compare1;
    CString csz_compare2;

    for (int i = 0; i < nCount; i++)
    {
        m_wholeText.GetLBText(i, csz_compare1);
        for (int j = 0; j < nCount; j++)
        {
            m_wholeText.GetLBText(j, csz_compare2);
            if (csz_compare1 == csz_compare2)
            {
                m_wholeText.DeleteString(j);
                nCount--;
            }
        }
    }
}