Mausaktion außerhalb des Fensters mitkriegen?

jokey2

Erfahrenes Mitglied
Hallo, allesamt!

Folgendes Problem:
Ich habe in einem TreeCtrl ein Drag&Drop innerhalb des Controls realisiert, damit ich TreeItems von einem Ast in einen anderen verschieben kann. Das klappt auch, aber wenn ich außerhalb des Controls oder des Programmfensters (MainFrame) die Maustaste loslasse, dann wieder drücke und zurück in das Control gehe, dann geht die Drag-Operation natürlich weiter, weil mein Prog. nicht mitkriegt, daß die Taste inzwischen losgelassen wurde.
Wenn ich sie nicht wieder drücke, ist alles ok, da ich das im OnMouseMove abfange.
Kann mir evtl. einer helfen mit einem Tip, wie ich Mausevents außerhalb des Controls bzw. des MainFrame mitkriegen kann?

Schonmal Danke,

jokey2
 
Wenn du zu draggen beginnst, müsstest du eigentlich SetCapture benutzt haben. Wenn du jetzt loslässt, bekommst du ja auch ein button-up-Event. Dann ReleaseCapture aufrufen und draggen als abgebrochen betrachten.

Wenn du nicht SetCapture aufgerufen hast, dann solltest du das einbauen.
 
Danke für den Tip, Endurion. SetCapture kannte ich bisher nicht. Das ist genau das, was ich suche!

Greez,
jokey2
 
Danke für den Tip, Endurion. SetCapture kannte ich bisher nicht. Das ist genau das, was ich suche!

^__^ Mich hat genau das selbe Problem gequält - was ein Zufall !

M.f.G Erik
 

Neue Beiträge

Zurück