Message löschen
-
Hallo Leute
ich hab folgendes Problem.
Ich würde gerne, wenn ich die Maus mit SetCursor umpositioniere, die darauf folgende WM_MOUSEMOVE Message löschen.
Geht das??Gruss Peter
-
Dann müsstest Du das Fenster subclassen und die Nachricht abfangen.
Btw: WM_MOUSEMOVE ist eine verzögerte Nachricht die automatisch aus den veränderten Mauskoordinaten erzeugt wird. Und die Mausposiiton hast Du verändert, also wird die Nachricht erzeugt.Welchen Sinn sollte das bitte machen?
Es macht ja schon kaum Sinn SetCursor zu benutzen?
-
Martin Richter schrieb:
Dann müsstest Du das Fenster subclassen und die Nachricht abfangen.
Btw: WM_MOUSEMOVE ist eine verzögerte Nachricht die automatisch aus den veränderten Mauskoordinaten erzeugt wird. Und die Mausposiiton hast Du verändert, also wird die Nachricht erzeugt.Welchen Sinn sollte das bitte machen?
Es macht ja schon kaum Sinn SetCursor zu benutzen?Hallo Martin
danke für deine Antwort.
Mein Programm ist eine Prüfstands Monitoring Software.
Sie liest Daten von verschiedenen Quellen ein, und visualisiert sie.
Gleichzeitig nimmt sie Überwachungsaufgaben war.
Die GUI ist selbstgemacht, eigene Fenster ( viele ) die verschiebbar sind, aber nicht übereinander, oder nach ausserhalb des Desktops - 8 Monitore.Sobald ein Fenster beim verschieben ein anderes berührt, bewegt es sich nicht mehr weiter. Da genau liegt das Problem, in dem Moment möchte ich die Mausbewegung unterbinden.
Ich verschiebe das Fenster nach den Deltakoordinaten der Mausmoves, bei Kollision habe ich dann die Maus einfach um die Deltakoordinaten zurückgesetzt,
damit sie das gezogene Fenster nicht verlässt.
Leider triggert die, durch mein SetCursor ausgelöste WM_MOUSEMOVE die Routine zum Verschieben des Fensters und es zappelt auf dem Schirm rum.
Wenn ich die Meldung nach SetCursor unterdrücken könnte, wäre alles ok.Irgendeine Idee????????
Gruss Peter
-
Und warum benutzt Du nicht die Nachrichten, die man für solche Fälle hat, wie z.B. WM_MOVING?
http://msdn.microsoft.com/en-us/library/windows/desktop/ms632632(v=vs.85).aspx