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


Anmelden zum Antworten