Hallo,
ich schreibe gerade eine Komponente welche von TCustomComboBoxEx abgeleitet
wird und möchte im Konstruktor den ItemIndex auf "1" setzen.
Da Delphi aber einem Fehler enthält (wurde schon an mehreren Stellen in der
DP diskutiert),
überschreibt die Methode "Setposition" vom Formular mit dem Aufruf von "RecreateWnd" den ItemIndex
mit "-1" und beim Erscheinen des Formulars mit meiner Komponente ist dann kein Eintrag mehr ausgewählt.
Die hier vorgeschlagenen Lösungen helfen mir leider weiter:
-TComboBoxExStyle auf "csExDropDown" setzen => Der Benutzer darf manuell keinen Text
eingeben können - also leider "csExDropDownList"
-ItemIndex nach dem Konstruktor des Formulars setzen => Eine Komponente die in fremden Projekten
eingesetzt wird sollte das selbst können.
-PopupMode des Formulars auf "pmAuto" setzen => Habe ich in Delphi7 nicht gefunden
(gibts wohl erst ab Delphi2005)
Ich habe versucht mit einer Application.OnIdle-Prozedur den ItemIndex nach den Konstruktoren zu setzen.
Das funktioniert aber nur wenn die Anwendung keine eigene OnIdle-Prozedur im Konstruktor des Formulars
implementiert und davon muß ich ausgehen.
Hat jemand einen anderen Vorschlag?