Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi ComboBox-Problem mit Text und Style = csDropDownList (https://www.delphipraxis.net/36727-combobox-problem-mit-text-und-style-%3D-csdropdownlist.html)

Helmi 24. Dez 2004 13:13


ComboBox-Problem mit Text und Style = csDropDownList
 
Hallo,

ich habe mal eine Frage zu einer ComboBox mit dem Style csDropDownList.

Ich möchte dass immer ein Text angezeigt wird, auch wenn kein Item vorhanden oder ausgewählt wurde.

Wenn ich in der Property: "Text" einen Text angeben will, dann wird dieser sofort wieder gelöscht.

Wie kann ich dort immer einen Text anzeigen lassen?

mfg
Helmi

Bernhard Geyer 24. Dez 2004 13:30

Re: ComboBox-Problem mit Text und Style = csDropDownList
 
csDropDownList bedeutet ja das nur Einträg aus einer Auswahlliste verwendet werden dürfen.

Du kannst ja den ersten Eintrag deiner Auswahlliste als "Nicht verwendet" oder ähnlich definieren und dir merken das deine Einträge erst aber ItemIndex = 1 kommen.

Helmi 24. Dez 2004 13:37

Re: ComboBox-Problem mit Text und Style = csDropDownList
 
Grad das will ich nicht.

Da ich die Einträge im Code mit dessen Indexen (oder wie auch immer die Mehrzahl heisst) abfrage.
Sonst müsste ich jedesmal "rechnen" welchen Index ich gerade hab.

Den Text, denn ich fest drin haben möchte, soll ja auch ned veränderbar sein, sondern auch fest - aber nicht zur der Auswahlliste gehören

mfg
Helmi

Bernhard Geyer 25. Dez 2004 16:50

Re: ComboBox-Problem mit Text und Style = csDropDownList
 
Dann bleibt dir nur noch OwnerDraw.
Damit kannst du bei ItemIndex = -1 (nichts gewählt) deinen eigenen Text anzeigen lassen.

Helmi 25. Dez 2004 18:01

Re: ComboBox-Problem mit Text und Style = csDropDownList
 
Hallo,

aber wie kann ich auf den Index "-1" schreiben?

mfg
Helmi

Bernhard Geyer 25. Dez 2004 18:04

Re: ComboBox-Problem mit Text und Style = csDropDownList
 
Zitat:

Zitat von Helmi
aber wie kann ich auf den Index "-1" schreiben?

Gar nicht. Du kannst ItemIndex := -1 setzen. Damit weiß die ComboBox, das kein Eintrag aus der Items-Liste verwendet werden soll. Aber Die Items-Liste ist eine TStrings-Objekt und da werden die Einträge nur ab Index = 0 gezählt.

Helmi 25. Dez 2004 18:09

Re: ComboBox-Problem mit Text und Style = csDropDownList
 
Hallo Bernhard,

du hast aber geschrieben:
Zitat:

Zitat von Bernhard Geyer
Dann bleibt dir nur noch OwnerDraw.
Damit kannst du bei ItemIndex = -1 (nichts gewählt) deinen eigenen Text anzeigen lassen.

Also gehts jetzt oder gehts ned? :?: :gruebel:

mfg
Helmi

Bernhard Geyer 25. Dez 2004 18:20

Re: ComboBox-Problem mit Text und Style = csDropDownList
 
Zitat:

Zitat von Helmi
Also gehts jetzt oder gehts ned? :?: :gruebel:

ItemIndex ist eine direktes Property von TComboBox. Mit Index habe ich gemeint Du meinste den Index des TComboBox.Items-Properties.

Sehe aber gerade nach einem Test, das es so doch nicht geht. Wenn ItemIndex = -1 ist, wird keine Event ausgelößt den Text neu zu zeichnen. Müsstest also eine Ableitung von TComboBox erstellen, um dieses verhalten zu bekommen

Bleibt also mein erster Vorschlag: Einem "Dummy"-Eintrag "Nicht verwendet" anlegen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz