listbox keine doppelten elemente



  • Gibt es eine einfache Lösung um zu verhindern das in in einer Listbox nicht 2mal die gleichen Element vorkommen?

    könnt ihr mir helfen=?



  • Ich hab in der MSDN gerade CListBox::FindString bzw FindStringExact gefunden - das nenne ich einfach.



  • Hab die Artikel gelesen aber bei meinem Code hängt sich die Anwendung immer auf?

    void CguiDlg::OnBnClickedButton4()
    {
    	CString szCompair;
    	GetDlgItemText(IDC_EDIT1, szCompair);
    
    	while (1) {
    		if (m_list.FindStringExact(-1, szCompair) != CB_ERR)
    			return;
    	}
    	m_list.AddString(szCompair);
    }
    


  • Na, bei dem Code... sorry, aber dein Programmierstil ist nicht der schönste.

    Ich würd das mal so versuchen:

    void CguiDlg::OnBnClickedButton4()
    {
        CString szCompair;
        GetDlgItemText(IDC_EDIT1, szCompair);
    
        if (m_list.FindStringExact(-1, szCompair) == CB_ERR)
        { // Der Text wurde nicht gefunden, also hinzufügen.
            m_list.AddString(szCompair);
        }
    }
    

    Ist eigentlich nur umgebaut, aber vielleicht geht es trotzdem.


Anmelden zum Antworten