Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

AW: ComboBox .Items-Änderung löscht ComboBox.Text

  Alt 3. Nov 2010, 00:11
Steht das Property Style auf csDropDownList?
Falls ja, bleibt der VCL nichts anderes übrig, als den ItemIndex auf -1 zu stellen, sobald du den Items eine neue Stringliste zuweist:
Delphi-Quellcode:
combobox.Style := csDropDownList;
combobox.Items := stringliste;
combobox.ItemIndex := 2; // jetzt ist .Text = Items[2]

combobox.Items := anderestringliste;
// Ist das Gleiche wie
combobox.Items.Assign(anderestringliste);
// Innerhalb von [TStringList].Assign() wird [TStringList].Clear aufgerufen
// Das Clear triggert das Event OnChange, dass wiederum in TCustomComboBox empfangen wird
// da dann combobox.Items.Count = 0 ist
// muss der ItemIndex auf -1 gesetzt werden
Workaround: ItemIndex vor Zuweisung an Items merken und danach wieder setzen
  Mit Zitat antworten Zitat