Autor Beitrag
Seven of Nine
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 132
Erhaltene Danke: 1

Win XP, Win Vista HomePro
Delphi 2009
BeitragVerfasst: So 17.06.12 06:58 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 132
Erhaltene Danke: 1

Win XP, Win Vista HomePro
Delphi 2009
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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. ;-)

Für diesen Beitrag haben gedankt: Seven of Nine
haentschman
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 285
Erhaltene Danke: 33


DX10 Berlin Professional
BeitragVerfasst: 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...

Für diesen Beitrag haben gedankt: Blawen, Seven of Nine
Seven of Nine Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 132
Erhaltene Danke: 1

Win XP, Win Vista HomePro
Delphi 2009
BeitragVerfasst: 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