![]() |
TComboBoxEx.ItemIndex
TComboBoxEx ist so etwas wie ein erweitertes TComboBox Steuerelement und ermöglicht die Verwendung von Item Images. Seine Eigenschaft ItemIndex ist public (nicht published!) und gibt Auskunft darüber, welches Item gerade ausgewählt ist (ItemIndex: Integer).
So weit so gut. Leider funktioniert das nicht in der umgekehrten Richtung: Das heißt,
Delphi-Quellcode:
bewirkt NICHT die Auswahl des 4. Elements der Liste, sondern gar nichts.
ComboBoxEx1.ItemIndex := 3
Wie kann man also über einen Integer-Wert die Auswahl eines Items von TComboBoxEx steuern? |
AW: TComboBoxEx.ItemIndex
Also bei mir funktioniert das Setzen des ItemIndex problemlos und bewirkt auch eine Änderung. :gruebel:
Wenn aber der Index außerhalb des Bereichs ist, dann wird der vorher gesetzte/ausgewählte Index beibehalten. |
AW: TComboBoxEx.ItemIndex
Du hast recht. Das Setzen von ItemIndex funktioniert. Mir ist ein Fehler unterlaufen.
|
AW: TComboBoxEx.ItemIndex
Passt nicht direkt zum Thema, aber verwandt: das Auslesen von TComboBoxEx.ItemIndex dauert ca. 3x so lang wie dasselbe bei der guten alten TComboBox.
Das hat bei mir in einer sehr langen Schleife ein Performance-Problem ausgelöst, was ich dann durch eine lokale Variable gelöst habe.
Delphi-Quellcode:
idx := comboEx.ItemIndex;
for i:=0 to 1000000 do begin // case comboEx.ItemIndex of // slow! // 0: ... // 1: ... // end; end; |
AW: TComboBoxEx.ItemIndex
Dann mach ich auch noch eine Anmerkung: Das Löschen des ausgewählten Eintrags aus der TComboBoxEx zeichnet sie ab Windows 10 bei csExDropDownList nicht neu. Das schließt das Leeren der Einträge ein. Da danach trotzdem der ItemIndex auf -1 steht, funktioniert auch das Setzen nicht, da Delphi denkt, es wäre bereits nichts ausgewählt. Daher immer den ItemIndex auf -1 setzen, bevor man das ausgewählte Element löscht.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz