TComboBox und ItemIndex
-
Hallo.
Ich hätte da mal eine Frage zu folgendem Code:
ComboBox1->Items->Clear(); for (int i=0;i<10;i++) { ComboBox1->Items->Add(""); } ComboBox1->ItemIndex = 0; ShowMessage(IntToStr(ComboBox1->ItemIndex)); ComboBox1->Items->Strings[0] = "test"; ShowMessage(IntToStr(ComboBox1->ItemIndex));
Warum erhalte ich in der zweiten ShowMessage plötzlich einen ItemIndex von "-1"?
Ich ändere doch nur den Text in der TComboBox(System: WinXP/C++Builder2009)
-
Hallo,
wenn du den Inhalt deiner ComboBox änderst, ist die Selektion weg.
d.h. Wert von Itemindex auf -1
Merke dir den Itemindex in einer Variable und schreibe ihn nach dem Ändern wieder zurück.
-
Das ist ein "Feature" der zugrunde liegenden Win32 API, selbst wenn man mit Windowsnachrichten direkten Einfluss auf die ComboBox nimmt und die VCL Kapselung ignoriert wird die Auswahl zurückgesetzt.