Mauszeiger ändern bis WM_LBUTTONUP auch ausserhalb von Dialog
-
Hi,
was ich tun will, ist folgendes: Den Mauszeiger Spy++-like bis zum Loslassen der Linken Maustaste ändern, und das auch ausserhalb des Dialogs. Hier liegt mein Problem, wie ändere ich den Mauszeiger ausserhalb des Dialogs? Die nächste WM_LBUTTONUP sollte ich ja mit SetCapture bekommen oder?
MfG
brotedit: falls es nicht klar sein sollte:
Ich will folgendes realisieren:
User klickt auf BitmapButton mit Fadenkreuz -> Cursor wechselt auf Fadenkreuz. Jetzt sollte der Cursor auch ausserhalb der Anwendung gleich bleiben, weil man das Fadenkreuz dann auf einen anderen Dialog ziehen soll.
Wie kann ich den Cursor ausserhalb meines Dialogs ändern?
Wie kann ich die WM_LBUTTONUP oder was auch immer von ausserhalb abfangen, geht das mittels SetCapture?
-
*push*
PS: bitte sagen, wenn meine Formulierung nicht klar ist
-
Müsste doch gehen indem du bei WM_LBUTTNDOWN SetCapture aufrufst.
-
OK, dann wäre das gelöst, hab' ich schon vermutet. Aber wie kann ich den Mauszeiger ausserhalb des Dialogs ändern?
-
SetCursor...muss man dann aber bei jeder Mousebewegung machen oder vielleicht gehts in WM_SETCURSOR
-
Nope, ist bloss das eigene Window halt. Habe es nun (wie ich finde unsauber) mit SetSystemCursor gelöst.
btw: wie kann ich die nächste Nachricht, die ich ja mit SetCapture abfange, dem anderen Dialog (d.h. dort wo die Nachricht eigtl für bestimmt wäre, wenn ich sie nicht mit SetCapture abfangen würde) "vorenthalten", sie also ganz abfangen?
-
guck in diesen code. ist delphi
-
scheint total einfach zu sein:
bei WM_LBUTTONDOWN:
SetCapture(windowHandle); SetCursor(LoadCursor(NULL, IDC_SIZEALL)); return 0;
Bei WM_LBUTTONUP:
ReleaseCapture(); return 0;
-
Der Anschein trügt...
Dieser Code ändert den MZ nur im eigenen Dialog, ausserhalb nicht.
-
bei mir ging das...aber natürlich nur wenn der mausbutton gedrückt ist.
-
werd' ich mal probieren, thx.
-
lol
-
jetzt hat mich jmd falsch verstanden