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/)
-   -   Delphi Tastedruck (STRG) während Drag&Drop nicht möglich? (https://www.delphipraxis.net/54843-tastedruck-strg-waehrend-drag-drop-nicht-moeglich.html)

Pfoto 12. Okt 2005 12:57


Tastedruck (STRG) während Drag&Drop nicht möglich?
 
Ach, ist schon blöd wenn man Anfänger ist...

Schon wieder hänge ich fest und finde auch per Suchfunktion kein ähnliches Thema, das mich weiterbringen könnte.

Ich habe einen Drag&Drop-Mechanismus in meinem Programm, der soweit auch funktioniert.
Manuell werden die so betroffenen Elemente von einer Liste in die andere verschoben.

Nun wollte ich wie in vielen Programmen verwendet, die STRG-Taste in Kombination mit einer Drag&Drop-Aktion auswerten, um nicht das Verschieben sondern das Kopieren von Elementen durchzuführen.
(Es erscheint dann ja normalerweise ein Mauscursor mit einem Plus-Zeichen, aber wie genau der Mauscursor aussieht ist erstmal egal, hauptsache er lässt sich ändern)

Ich stelle nur fest, dass jeder Tastendruck während einer Drag&Drop-Aktion unterbunden wird.

Ich habe im Ereignis OnMouseDown und OnMouseMove den Befehl
Delphi-Quellcode:
If (ssCtrl IN Shift) then
 [Quell-Controlelement].DragCursor:= crMultiDrag;
als auch bei TMainform.FormKeyDown den Befehl
Delphi-Quellcode:
If (Key = 17) then // = STRG-Taste
 [Quell-Controlelement].DragCursor:= crMultiDrag;
ausprobiert. (KeyPreview ist auf "True")

Nichts reagiert oder passiert mit dem Cursor. Nur vor der Drag&Drop-Aktion lässt sich der Mauszeiger mit den Funktionen ändern.

Wie kann ich denn noch einen Tastencode abfragen, ohne dass dieser durch die Drag&Drop-Aktion blockiert ist?


Weiß jemand Rat?

Dank und Gruß
Pfoto


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:38 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