ich habe eine Comobox erstellt, damit der User keinen eigenen Eingaben machen kann mit Style := csDropDownList.
Stosse aber jetzt auf das Problem das der User IMMER etwas wählen
muß, da das Feld bei Programmstart leer ist. Ich würde aber gerne haben, das ich etwas Vorgebe, sowie es mit Combobox.text := ‚bla bla‘ eigentlich ja auch geht, aber halt nicht, wenn ich Style auf csDropDownList habe. Dann steht das Feld immer leer.
Wer weiß rat?
Danke und Gruß
Mercutio
PS: hab das letzte mal mit TurboPascal unter Dos Programmiert, das ist jetzt fast 10 Jahre her, hat sich ja einiges geändert seitdem.
Gaaaanz einfach
Hi,
gehe im Objektinspektor auf die Eigenschaft „ItemIndex“ und setze sie z.b. auf 0. (Standardmäßig steht dort glaubich -1)
So wird der erste Eintrag in der Liste gewählt (Zählung beginnt bei Null, wie du sicher weißt)
gehe im Objektinspektor auf die Eigenschaft „ItemIndex“ und
setze sie z.b. auf 0. (Standardmäßig steht dort glaubich -1)
So wird der erste Eintrag in der Liste gewählt (Zählung
beginnt bei Null, wie du sicher weißt)
Klingt wirklich ganz einfach. Nur ein Problem, bei mir steht da kein ItemIndex, was nun?
Ich hab das jetzt einfach hier reingeschrieben:
procedure TForm1.FormCreate(Sender: TObject);
begin
ComboBox1.ItemIndex := 0;
end;
Das klappt auch, aber ist das korrektes Programmieren!?
So kann man das durchaus machen. Ich glaube die Property (Eigenschaft) ItemIndex war in Delphi 5 noch nicht als public deklariert. Deshalb erscheint das nicht im Objektinspektor.
Sinnvoller wäre allerdings diese Variante:
procedure TForm1.FormCreate(Sender: TObject);
begin
if ComboBox1.ItemIndex \> -1 then
ComboBox1.ItemIndex := 0;
end;
Sonst bekommst Du eine Fehlermeldung wenn die DropDownliste aus irgendeinem Grund leer sein sollte.
procedure TForm1.FormCreate(Sender: TObject);
begin
ComboBox1.ItemIndex := 0;
end;
Das klappt auch, aber ist das korrektes Programmieren!?
ja! Der FormCreate-Handler ist genau der richtige Ort für diese Anweisung. Wenn beim Programmstart der dritte Eintrag aktiviert sein soll, dann schreibst Du entsprechend „ComboBox1.ItemIndex := 2“ usw.