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/)
-   -   Double-Click unter FMX-TGrid (https://www.delphipraxis.net/181393-double-click-unter-fmx-tgrid.html)

P_G 11. Aug 2014 14:52

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...

Harry Stahl 11. Aug 2014 16:03

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;

P_G 11. Aug 2014 16:13

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:

himitsu 11. Aug 2014 17:03

AW: Double-Click unter FMX-TGrid
 
Zitat:

Zitat von P_G (Beitrag 1268354)
Der Zusammenhang mit dem ReadOnly war mir nicht klar. Perfekt - jetzt funktioniert es!

Vermutung:

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 03:04 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