WM



  • Moin
    ich möchte gerne Windows Messages abfangen und dieses nicht einfach mit dem Überschreiben von z.B. WM_ACTIVE erledigen.
    Ich weiss, dass man es in der WINAPI mit WndProc macht. Aber man muss vorher in der WNDCLASS folgendes festlegen:

    wc.lpfnWndProc   = WndProc;
    

    Kann man dieses auch in Mfc machen?
    Also z.B. in PreCreateWindow eine WNDClass deklarieren und dort dann die Funktion angeben die zusätzlich zum Assistenten die Windows Messages abfangen soll?
    Oder gibt es dort eine spezielle Funktion, die die Windows Messages empfangen kann?
    Ich kann aber nicht die vordefinierten WMs von Mfc nehmen, denn ich weise Windows an mir eine bestimmte WM zu schicken und diese muss ich irgendwie wieder abfangen können.
    Mfg Kobold



  • Ich würde es mal mit PreTranslateMessage versuchen. 🙂





  • Irgendetwas ist komisch.
    Ich habe PreTranslateMessage zum testen wie folgt überschrieben:

    BOOL CMainFrame::PreTranslateMessage(MSG* pMsg)
    {
    	// TODO: Fügen Sie hier Ihren spezialisierten Code ein, und/oder rufen Sie die Basisklasse auf.
    
    		if(pMsg->message==WM_MOUSEWHEEL)
        {
            AfxMessageBox("Pre");
        }
    
    	return CFrameWnd::PreTranslateMessage(pMsg);
    }
    

    Doch komischerweise wird die MessageBox bei jedem Ereigniss 2mal aufgerufen.
    Warum?Wo ist mein Fehler?
    Mfg Kobold



  • Manchmal könnte ich mir selbst in den Arsch beißen.
    Habe einfach nur

    return TRUE;
    

    vergessen.
    Danke für eure schnelle Hilfe estartu und net.
    Mfg Kobold


Anmelden zum Antworten