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/)
-   -   ComboBox ohne Edit (https://www.delphipraxis.net/175971-combobox-ohne-edit.html)

blablab 3. Aug 2013 21:23

ComboBox ohne Edit
 
Hallo!

Eine ComboBox besteht ja im Prinzip aus einer Edit mit einem ScrollBarKnopf rechts daneben und einer (ausklappbaren) ListBox darunter/darüber. Ich möchte aber die Edit durch einen Knopf ersetzen und wenn ich den Knopf einfach obendrauf setze dann stört mich der Rahmen.
Das bedeutet ich bräuchte im Prinzip eine ComboBox ohne die Edit oder wenn es das nicht gibt vielleicht einen einzelnen ScrollBarKnopf und ich blende dann selbst eine ListBox ein.
Oder was gäbe es da noch für Möglichkeiten?

Liebe Grüße
blablab

jaenicke 3. Aug 2013 21:28

AW: ComboBox ohne Edit
 
Du kannst ein TPopupMenu benutzen. Das kannst du manuell mit dem Befehl Popup des Menüs aufklappen, wenn man auf den Button drückt.

Oder du kannst es als DropDownMenu dem Button zuweisen und Style auf bsSplitButton setzen, wenn du eine aktuelle Delphiversion hast.

blablab 3. Aug 2013 21:35

AW: ComboBox ohne Edit
 
Liste der Anhänge anzeigen (Anzahl: 2)
Mein Knopf soll aber nicht den ScrollBarKnopf ersetzen. Im Prinzip möchte ich eine ComboBox die nicht Text, sondern Knöpfe auswählen lässt. Ich möchte also einen Knopf, rechts daneben ist ein ScrollBarKnopf und wenn ich den drücke, dann kann ich einen Text aus einer Liste auswählen und dementsprechend ändert sich dann die Beschriftung meines Knopfs.
Ist etwas schwierig zu beschreiben...

Helmi 3. Aug 2013 21:46

AW: ComboBox ohne Edit
 
Liste der Anhänge anzeigen (Anzahl: 1)
Das meinte jaenicke ja auch!

Wenn du nen Button neuesten Delphi´s bei der Property "Style" auf "bsSplitButton" stellst und dann bei "DropDownMenu" ein TPopUpMenu einhängst, dann hast du das was du wolltest.
Einzig das Umladen des ausgewählten Textes im PopUp in den Button musst du selbst machen

blablab 3. Aug 2013 21:48

AW: ComboBox ohne Edit
 
Leider hab ich das nicht :(

Helmi 3. Aug 2013 21:50

AW: ComboBox ohne Edit
 
Zitat:

Zitat von blablab (Beitrag 1223380)
Leider hab ich das nicht :(

Was hast du denn?
Wenn du deine Delphi-Version in deine Signatur schreiben würdest (bzw. sie dort auswählen würdest), dann könnte man sofort sehen, welche Delphi-Version du nutzst.

blablab 3. Aug 2013 21:52

AW: ComboBox ohne Edit
 
gute Idee :)

Helmi 3. Aug 2013 21:56

AW: ComboBox ohne Edit
 
für Delphi 7 hab ich jetzt keine Idee

jbg 3. Aug 2013 22:03

AW: ComboBox ohne Edit
 
Die JVCL hat einen TJvArrowButton, dem ein DropDownMenu (PopopMenu) zugewiesen werden kann.

blablab 3. Aug 2013 23:00

AW: ComboBox ohne Edit
 
Ist vielleicht eine dumme Frage, aber kann man bei einem PopupMenu überhaupt die "ItemHeight" anpassen?

Aviator 3. Aug 2013 23:16

AW: ComboBox ohne Edit
 
Ich denke eher nicht, dass das möglich ist. Ein eigenes Popupmenü erstellen oder Windows Messages senden würde wahrscheinlich funktionieren, aber das Standardmenü kann das glaube ich nicht. Kommt denke ich auf die Einstellungen von Windows an.


Vorsicht noch bei dem Splitbutton. XP unterstützt meines Wissens nach diese Funktion noch nicht bzw. stellt es nicht so da wie Windows Vista und aufwärts. Dort erscheint dann nur ein normales Kontextmenü beim Rechtsklick auf den Button.

Volker Z. 3. Aug 2013 23:54

AW: ComboBox ohne Edit
 
Hallo,

Zitat:

[...], aber kann man bei einem PopupMenu überhaupt die "ItemHeight" anpassen?
Das geht schon. Schau Dir mal OnDrawItem, OnAdvancedDrawItem und OnMeasureItem beim TMenuItem an.

Zitat:

Vorsicht noch bei dem Splitbutton. XP unterstützt meines Wissens nach diese Funktion noch nicht [...]
Da kann man Aviator nur zustimmen.

Gruß

blablab 4. Aug 2013 01:08

AW: ComboBox ohne Edit
 
Vielen Dank für eure Antworten!

Ich verwende jetzt ein PopupMenu und zeige es an mit PopupMenu.Popup(). Aber dann hat zwar das PopupMenu den Fokus, es ist aber kein MenuItem selektiert. Gibt es eine Möglichkeit gleich nach OnPopup ein bestimmtes MenuItem zu selektieren?

lbccaleb 4. Aug 2013 01:30

AW: ComboBox ohne Edit
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von blablab (Beitrag 1223378)
Mein Knopf soll aber nicht den ScrollBarKnopf ersetzen. Im Prinzip möchte ich eine ComboBox die nicht Text, sondern Knöpfe auswählen lässt. Ich möchte also einen Knopf, rechts daneben ist ein ScrollBarKnopf und wenn ich den drücke, dann kann ich einen Text aus einer Liste auswählen und dementsprechend ändert sich dann die Beschriftung meines Knopfs.
Ist etwas schwierig zu beschreiben...

Delphi7:

->Normale TComboBox auf der Form platzieren.
->Den Style auf "csDropDownList" setzen.
->ItemIndex auf 0 setzen, wenn man das erste Item vorausgewählt haben möchte.

->event. der Optik halber das XPManifest auf der Form platzieren.

Ergibt das im Anhang gezeigte.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:54 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