Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Kein Dopppelklick bei TAdvStringgrid?
Seven of Nine - So 17.06.12 06:58
Titel: Kein Dopppelklick bei TAdvStringgrid?
Eines meiner Stringrids (Ein TAdvStringgrid aus den TMS Libraries) reagiert einfach nicht auf Doppelklick obwohl es dieses Ereignisanbietet.
a) Gibt es einzelne Eigenschaften oder eine Kombination von Eigenschaften von Stringgrid welche den "Doppelklicken verhindern"?
(diese würde ich dann natürlich entsprechend setzen)
oder, notfalls
b) gibt es einen Weg den Doppelklick mid moederatem Aufwand anders abzufragen?
lG Martin
jaenicke - So 17.06.12 08:39
Ausgelöst wird das Ereignis ja über TAdvStringGrid.MouseDown in der Unit AdvGrid.pas. Daher setze dort einfach einen Haltepunkt, denn zumindest dort müsste die Komponente ja ankommen. Das müsste ca. Zeile 47469 sein. Dort sollte sich ja feststellen lassen warum es dann nicht weitergeht. ;-)
Seven of Nine - So 17.06.12 13:16
Hallo Sebastian
ich bin gerade mal wieder im "ich glaube ich bin für die einfachsten Dinge zu doof" Modus ;)
Auch mit deinem Hinweis bekomme ich es irgendwie nicht gebacken, da im Debugging Mouds die Komponente ständig nur internes Gedöns ausführt ohne wirklich etwas zu tun.
Ich kann aber inzw. mein Problem zumindest schon mal eingrenzen.
Mein Thema ist, dass ich auf
a) auf "OnClick"
sowohl als auch auf
b) auf "OnDblClick"
mit unterschiedlichem Code reagieren möchte
Habe ich "nur" Codezeilen in onDblClick, funktioniert alles bestens, die (richtige) Routine wird ausgeführt.
Sobald ich aber Code ebenso in onClick eingebe, dann wird "NUR" der Code in OnClick ausgeführt, "OnDblClick" wird überhaut nicht ausgeführt.
Und das ganze egal ob ich 1x oder 2x auf das Stringgrid clicke
*Arghhh*
lG Martin
jaenicke - So 17.06.12 14:14
Wie sieht denn der Code aus?
Vermutlich machst du etwas in OnClick, das dazu führt, dass es kein Doppelklick mehr wird. Denn logischerweise geht der erste Klick auch bei einem Doppelklick in OnClick, da da noch gar nicht klar ist, dass es ein Doppelklick wird. ;-)
haentschman - So 17.06.12 14:46
Hallo...
Zitat: |
Mein Thema ist, dass ich auf
a) auf "OnClick"
sowohl als auch auf
b) auf "OnDblClick"
mit unterschiedlichem Code reagieren möchte |
...das kannst du nur mit einem Trick. Normal geht nur eines von beiden.
Der Trick:
- OnDoppelklick ist leer
- mit einem Timer,einer Hilfsvariable (Boolean) und einer eigenen Doppelklick Prozedur
- im OnKlick setzt du Hilfsvariable:= True, startest den Timer
- im OnTimer setzt du die Hilfsvariable zurück und stoppst den Timer
- kommt noch ein OnKlick und die Hilfsvariable ist True (Timer noch nicht abgelaufen) ist es ein Doppelklick
-> Ergebnis:
2x Klick
1x Doppelklick
-> anpassen falls du nur einen Klick und einen Doppelklick haben möchtest (den ersten Klick merken)
:P so oder so ähnlich...
Seven of Nine - So 17.06.12 14:52
Vielen Dank nochmal für Eure Hinweise!Ich hatte so etwas irgendwie schon vermutet
und die step-by-step Anleitung mit dem Timer ist glasklar .. das bekomme ich problemlos hin.
Vielen Dank für euren Support. Ich bin dadurch wieder mal etwas schlauer gewordenen.
Tip-Top-Support. Genau so sollte das in einem Forum sein.
lG Martin
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!