EventHandler zurücksetzen.
-
Kann man einen Eventhandler zurücksetzen?
Zum Beispiel, wenn dieser nach dem Drücken einer Maustaste (MouseDown) aktiv bleibt.Grüße
-
tonictrinker schrieb:
Kann man einen Eventhandler zurücksetzen?
-= !?
tonictrinker schrieb:
Zum Beispiel, wenn dieser nach dem Drücken einer Maustaste (MouseDown) aktiv bleibt.
Verstehe ich nicht...
-
Also...
Ich verschiebe das Fenster ohne Titelleiste mittels eine Labels. Bei MouseDown werden die Koordinaten des Fensters und des Mauszeigers aufgenommen und beide verrechnet, damit das Fenster beim Neuzeichnen nicht springt. Das funktioniert auch. Dort wird ein MouseMove aufgerufen, der das Fenster verschiebt.
Allerdings weiß ich nicht wie ich das Fenster "loslassen" soll. Ich dachte MouseDown gilt auch nur so lange die Maustaste gedrückt wird.
Habe ich einmal auf das Label geklickt und das Fenster verschoben und fahre anschließend erneut mit der Maus darüber, dann hängt das Fenster wieder am Mauszeiger. Als ob MouseDown immernoch aktiv wäre.
-
Du legst doch in MouseDown selbst fest, dass "ab jetzt" das Verschieben aktiv ist. Setze es in MouseUp wieder zurück. Mit Eventhandlern hat das nichts zu tun.
-
Hat jemand eine Idee wie man das macht?
Also so wird MouseMove aktiviert:
label5->MouseMove += gcnew MouseEventHandler(this,&Form1::label5_Move);
-
Okay. Es geht Vermutlich mit:
label5->MouseMove -= gcnew MouseEventHandler(this,&Form1::label5_Move);
Das Blöde ist, dass ich jetzt feststellen muss, ob denn die Maustaste losgelassen wird. -.-
-
Es geeeht!!!!!!
Ich rufe jetzt in der Form1_Load ein entsprechendes MouseUp auf, was o.g. Zeile enthält. Yeah!