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