![]() |
Double-Click unter FMX-TGrid
Hallo zusammen,
ich experimentiere gerade mit einem TGrid unter Firemonkey. Dazu werfe ich ein TGrid aufs Formular, öffne über Doppelklick den Eintragseditor und füge zwei TImageColumns hinzu. Erreichen will ich, dass der Doppelklick auf eine beliebige Zelle innerhalb einer TImageColumn eine Aktion auslöst. Das erreiche ich, wenn ich HitTest der ImageColumn (in meinem Beispiel ImageColumn1) auf True setze und ein OnDblClick definiere (in meinem Fall zu Testzwecken ein einfaches 'close'). Problem: Wenn ich es wie oben beschrieben mache, kann ich das Feld innerhalb des betreffenden ImageColumns nicht mehr per Maus auswählen. Bei ImageColumn2 (HitTest := False) geht es - bei ImageColumn1 (HitTest := True) geht es nicht. Frage: Wie erreiche ich, dass ein beliebiges Feld innerhalb eines TGrid per Maus selektierbar ist und auf einen Doppelklick reagiert? Ich nehme an, dass ich hier einfach irgendetwas übersehe. Witzigerweise ist das alles kein Problem, wenn ich ein normales Klickereignis wähle... |
AW: Double-Click unter FMX-TGrid
Liste der Anhänge anzeigen (Anzahl: 1)
Der Trick dabei ist, dass Du das DblClick des Grids verwenden musst. Zusätzlich musst Du bei den ImageColumns ReadOnly auf True setzen, sonst wird der DblClick nicht an das TGrid weitergereicht. Über grid.columnIndex und grid.selected erfährst Du, auf welche Zeile und Spalte geklickt wurde:
Delphi-Quellcode:
procedure TForm59.Grid1DblClick(Sender: TObject);
begin ShowMessage ('Click on: Col ' + grid1.ColumnIndex.ToString + 'Zeile:' + Grid1.Selected.ToString); end; |
AW: Double-Click unter FMX-TGrid
Der Zusammenhang mit dem ReadOnly war mir nicht klar. Perfekt - jetzt funktioniert es!
Mit allerbestem Dank und Gruß. :thumb: |
AW: Double-Click unter FMX-TGrid
Zitat:
Ohne ReadOnly kann das Feld in den Editmodus wechseln, wo dann das Doppelklick an den FeldEditor geht, welcher in das Feld eingefügt wird, also praktisch über dem Grid liegt. Mit ReadOnly gibt es diesen Editor nicht und der Doppelklick geht direkt ans Grid. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:12 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