Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Combobox, wie geht das? Delphi-Anfänger verzweifelt!
Timm3r - Di 14.09.10 17:01
Titel: Combobox, wie geht das? Delphi-Anfänger verzweifelt!
Hallo nochmal zusammen,
schon wieder ergibt sich ein Problem mit Delphi. Gestern erst wurde mir wunderbar geholfen und deshalb wende ich mich nochmal an euch. Ich möchte über eine Combobox, in der Rot, Rotgelb, Grün und Gelb stehen soll, verschiedne Bilder von Ampeln aufrufen. Was muss ich jetzt im Quelltext dieser Combobox eingeben?
Wäre echt super, wenn ihr mir das erklären könntet!
Grüße!
Moderiert von
Gausi: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Di 14.09.2010 um 17:24
Dude566 - Di 14.09.10 17:18
Zunächst musst du wissen womit die Bilder dargestellt werden sollen, schau dir mal TImage an.
Timm3r - Di 14.09.10 18:06
Nein die Bilder darstellen, das ist ja einfach. Ich möchte nur für eine Auswahl in dieser Kombobox ein gewisses Verhalten programmieren, sodass das Bild bei Grün die grüne Ampel ist. ich weiß ImAmpelRot.visible:=false ImAmpelGruen.visible:= true aber wie trage ich überhaupt was in die Box ein?
Delete - Di 14.09.10 18:25
Wenn es nicht zur Laufzeit sein muss über den Objektinspektor. Die passende Eigenschaft solltest du selber finden. Und bei ändern der Auswahl wird das Ereignis OnChange ausgelöst.
platzwart - Di 14.09.10 18:43
Inhalt der Combobox:
Items
Beim Ändern des ausgewählten Eintrags wird das
OnChange-Ereignis ausgelöst. Dort kannst du wieder
case benutzen...
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| Case ComboBox.ItemIndex of 0: begin foo; end; end; |
Timm3r - Di 14.09.10 19:02
Ja danke erst einmal für die zahlreichen Antworten.
Mein Quelltext ist jetzt dieser:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33:
| procedure TForm1.BoxChange(Sender: TObject); begin
Case Box.ItemIndex of 0: begin ImAmpelRot.visible:=true; ImAmpelGruen.visible:=false; ImAmpelRotGelb.Visible:=false; ImAmpelGelb.visible:=false; end; 1: begin ImAmpelRot.visible:=false; ImAmpelGruen.visible:=false; ImAmpelRotGelb.Visible:=true; ImAmpelGelb.visible:=false; end; 2: begin ImAmpelRot.visible:=false; ImAmpelGruen.visible:=true; ImAmpelRotGelb.Visible:=false; ImAmpelGelb.visible:=false; end; 3: begin ImAmpelRot.visible:=false; ImAmpelGruen.visible:=false; ImAmpelRotGelb.Visible:=false; ImAmpelGelb.visible:=true; end;
end;
end; end. |
Nur woher weiß jetzt diese Combobox welche Zahl nun gegeben ist und wie schreibe ich eine Auswahlliste für diese Combobox?
Danke im Voraus!
Moderiert von
Narses: Code- durch Delphi-Tags ersetzt
platzwart - Di 14.09.10 19:13
Die Auswahl steckt in ItemIndex. Und in die Eigenschaft Items musst du die Einträge einfügen (am besten direkt im Objektinspektor)...
dickeWade - Sa 05.03.11 18:10
Das geht aba etwas eleganter
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.BoxChange(Sender: TObject); begin ImAmpelRot.visible := (Box.ItemIndex = 0); ImAmpelRotGelb.Visible := (Box.ItemIndex = 1); ImAmpelGruen.visible := (Box.ItemIndex = 2); ImAmpelGelb.visible := (Box.ItemIndex = 3); end; |
Gruß Tommi
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!