Probleme mit ComboBox
-
Ich benutze folgenden Code um den Inhalt einer Spalte in einen Listctrl in eine ComboBox zuübertragen:
void CImmofindenDlg::fillCombo(int column,CComboBox &box) { CString s,bs,o,aw; box.GetLBText(box.GetCurSel(),aw); box.ResetContent(); box.AddString("Alle"); for(int i=0;i< m_immoliste.GetItemCount();i++) { s = m_immoliste.GetItemText(i,column); o =s; bool isCombo = false; for (int i2 =0;i2 < box.GetCount();i2++) { box.GetLBText(i2,bs); s.MakeLower(); bs.MakeLower(); if(s==bs) { isCombo = true; break; } } if(!isCombo&&o!="") { box.AddString(o); } } box.SelectString(-1,aw); }Aber meistens(nicht immer) ist statt der vorherigen Auswahl Alle ausgewählt.
OnSelChange der ComboBox filtere ich die Liste und rufe diese Funktion auf.
Beim Filtern müsste noch der richtige Wert ausgewählt sein da die Liste richtig gefiltert wird.
-
soll denn immer nur einer makiert sein?
dann property singleselection auf true setzen
-
In einer ComboBox
.Wie wählt man den da mehrere aus?
-
oups vertan, hatte in letzter zeit zu viele beiträge hier mit list controls gelesen

-
ich arbeite immer mit
CComboBox::SetCurSel(int iItem)
-
Das würde bei mir nicht klappen da anscheined der Wert in aw falsch ist.
Ich also mit FindString auch nur die Position von Alle erhalte.
-
Habs gefunden.Es waren noch Stringvariablen ,die mit dem Klassenassistenten erstelltwurden,für die ComboBoxen vorhanden.Bei jeden aufruf von UpdateData wurden daher die Auswahl zurückgesetzt.