CRichEditView kann kein OnContextMenu..



  • Hallo.

    Ich habe ein SDI Programm geschrieben dessen Ansicht von CRichEditView erbt.
    Ich wollte der Ansicht nun ein Kontextmenu verpasse.
    Habe also mit dem Klassenassistent die Nachricht WM_CONTEXTMENU eingefügt und in die dann einen TRACE-Befehl geschrieben.

    void CTest3View::OnContextMenu(CWnd* pWnd, CPoint point)
    {
    TRACE("\nBin im popup\n\n");
    }

    Beim Ausführen mit F5 wird der TRACE-Befehl aber gar nicht abgearbeitet wenn ich die rechte Maustaste drücke.
    Bekomme keine Meldung „Bin im popup“.

    Ich habe das ganze mal mit einer Ansicht probiert die von CView erbt und da geht es ohne Probleme.

    Mache ich was falsch oder kann CRichEditView das nicht.

    Ich will auf folgendes hinaus.
    Ich kann mit STRG+V aus der Zwischenablage in die Ansicht Texte und Bilder einfügen aber ich will das mit der Maus erledigen.
    Wie kann ich mit der Maus das erreichen was mit STRG+V funktioniert?

    Kann ich nicht wenn ich z.B. die linke-Maustaste drücke eine Message an das
    Programm schicken so das dieses denkt es wurde STRG+V gedrückt?
    Oder kann ich nicht den selben aufruf an das Programm tätigen den auch STRG+V
    hinkriegt?

    cebion



  • Eigentlich sollte das RichEdit die ON_CONTEXTMENU Message werfen, aber ich hab das so gelöst, das ich auf ON_RBUTTONDOWN reagiere. Geht genau so, da laut
    MSDN

    Google: site:msdn.microsoft.com
    DefWindowProc generates the WM_CONTEXTMENU message when it processes the WM_RBUTTONUP or WM_NCRBUTTONUP message.

    Gruß Matthias



  • Hallo CTecS.
    Ja. Habe auch die Rechte Maustaste abgefragt.
    Mich hat halt stuzig gemacht das ich die Nachricht mit dem Klassenassistenten einbinden kann diese dann aber nicht aufgerufen wird.
    Trozdem danke. Weiss jetzte das es nicht nur mir so geht.

    cebion


Anmelden zum Antworten