AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

FMX Check Combobox

Ein Thema von franktron · begonnen am 12. Dez 2018 · letzter Beitrag vom 14. Dez 2018
Antwort Antwort
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

FMX Check Combobox

  Alt 12. Dez 2018, 15:22
Kennt jemand eine Check Combobox für FMX oder weis wie man eine erstellen kann.
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: FMX Check Combobox

  Alt 12. Dez 2018, 15:30
Wie soll die Komponente aussehen? Bei einer ComboBox kann man im Normalfall ja nur einen Eintrag auswählen.
Markus Kinzler
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

AW: FMX Check Combobox

  Alt 12. Dez 2018, 15:38
https://www.delphipraxis.net/attachm...1&d=1544625505

So etwa
Miniaturansicht angehängter Grafiken
94f9aaa7bbf2.png  
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.477 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: FMX Check Combobox

  Alt 12. Dez 2018, 19:32
Sowas könntest Du Dir eigentlich relativ einfach selber zusammenbasteln:

Ausgehend von einem TLayout, füge dort ein TEdit ein, füge dort noch ein TDropDwonEditButton hinzu und setze Aligned des TEdit auf Top. Setze u.U. den Text auf "None Selected" und wenn der User dort keine Eingabe machen können soll, die Eigenschaft für TEdit auf ReadOnly.

Unter dem TEdit fügst Du eine TListBox ein (Client aligned) mit SchowCheckboxes auf true.

Anschließend setzt Du das Layout auf die gleiche Höhe wie das Tedit (dadurch liegt die Listbox außerhalb des Anzeigebereichs).

Wenn der User nun auf den DropDownEditbutton klickt, vergrößerst Du das Tlayout z.B. auf die Höhe 100, so dass die Listbox sichtbar wird, wo der User nun die Items an- oder abwählen kann. Falls gewollt, kannst Du dann ja die angwählten Inhalte im TEdit anzeigen lassen.

Beim erneuten Drücken des DropDownEditbuttons oder Drücken von Return (OnkeyUp) oder Exit (OnExit) der Listbox "schließt" Du dieses "Listbox-Popup" wieder, indem Du die Höhe des Layouts wieder auf die Höhe des TEdits setzt.

Dann wären noch ein paar Feinheiten zu regeln, halt bei Anzeige der Listbox den Checked-Zustand der ListboxItems, anhand des evtl. zuvor gespeicherten Wertes (aus TEdit) zu setzen, aber das ist ja nur noch ein wenig Fummelarbeit.

Mehr als eine halbe Stunde Arbeit sollte dabei aber m.E. nicht anfallen... (anliegend screenshot des hier mal testweise zusammengeklickten Beispiels).

Wenn Du das Teil nur einmal in Deiner Anwendung brauchst, wars das dann auch schon. Brauchst Du es nur zwei oder drei mal, kopiere das ganze Konstrukt, brauchst Du es öfter, auch in anderen Apps, könntest Du auch überlegen, ein Tframe, statt einem TLayout zu verwenden und somit das Teil wiederverwendbar zu machen.
Miniaturansicht angehängter Grafiken
checkcombobox.jpg  

Geändert von Harry Stahl (12. Dez 2018 um 19:43 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.882 Beiträge
 
Delphi 12 Athens
 
#5

AW: FMX Check Combobox

  Alt 13. Dez 2018, 08:00
Als PopupFrame könnte man verschiedene Listen verwenden (TListBox s. Harry unten, aber auch TListView).

Ein TListView hätte direkt eine Checkbox-Option.

Es wäre auch einen Versuch Wert den DynamicItem Editor von der TListView auszutesten,
oder einem Custom TListView Style eine "schönere, zusätzliche" CheckBox hinzuzufügen, die man dann im RuntimeCode abfragen kann (sowas hatte ich mal für TSwitch gemacht).

Ist zwar immer etwas Handarbeit nötig, aber das wären wohl die offiziellen Wege wie FMX das vorsieht.

Rollo
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

AW: FMX Check Combobox

  Alt 14. Dez 2018, 09:30
Danke Harry so hat es geklappt
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.477 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: FMX Check Combobox

  Alt 14. Dez 2018, 14:37
Danke Harry so hat es geklappt
Prima, freut mich.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:16 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