OnLButtonDown() wird nicht aufgerufen
-
Hallo Leute,
... bin Neuling in der MFC Programmierung und habe folgendes Problem:
Ich habe in VS .NET 2003 ein neues Projekt angelegt und wollte als erstes
probieren einen event-Handler für dir Mausknöpfe zu schreiben.
D.h. ich habe CWnd::OnLButtonDown() in meiner FrameKlasse überschrieben
und auch korrekt per ON_WM_LBUTTONDOWN() angemeldet.
Leider wird meine Funktion nicht aufgerufen, wenn ich das Fenster
anklicke. Das glit auch fur die anderen Mausknöpfe sowie für die
MouseUp und Doppelclick-Varianten: Keine Reaktion.Das Problem liegt aber nicht daran, daß ich die Handler flasch angemeldet habe,
denn andere Messages, wie z.B. OnMouseWheel() oder OnMenu() funktionieren
einwandfrei.Tatsächlich habe ich sogar schon versucht, die Maustasten über OnMessage()
abzufragen, und musste feststellen, daß auch hier keinerlei Messages
bezüglich der Mausknöpfe ankommen. Das hat mich gestern den ganzen Abend
gekostet und ich bin fustriert ... :-\Jemand eine Idee, wo das Problem liegen könnte?
Gruß und Danke,
Herjann
-
du hast den Handle beim falschen Objekt angemeldet. das Framewindow ist das Elternfenster für das Menü, die Symbolleisten und die Ansicht, wenn du also mit der Maus klickst fängt das jeweilige Objekt die Nachricht schon ab und sie kommt beim Frame Window nicht mehr an.
also überschreib einfach die lbuttondown der Ansicht, dann muss es gehn.
-
danke - das war wirklich das Problem (Neuling eben).
Gruß,
Herjann