Kontextmenu auf Rechtsklick



  • Hallo!

    Bitte verzeiht, wenn das Thema schon existiert, aber leider konnte ich kaum brauchbares hier und bei Google finden. Anscheinend ist mein Problem so lapidar, dass noch niemand fragen musste 😉

    Ich möchte einfach in einem CTreeCtrl ein eigenes Rechtsklickmenu (Kontextmenu) mit 2-3 Funktionen haben. Z.B. neu, kopieren, einfügen etc.
    Die Rechtsklickmessage fange ich in der Methode OnNMRclickTree ab, nur weiß ich nicht, wie ich ihn dazu bringen kann, dass ein Kontextmenu geöffnet wird. Ein "Menu" als Resource anlegen?

    Kann mir jemand einen Schubs in die richtige Richtung geben?

    Viele Grüße
    Daniel


  • Mod



  • Ein Menü als Resource ist auf jeden Fall hilfreich. 😉
    Dynamisch erzeugen geht wohl auch, finde ich aber schwieriger.

    Und anzeigen geht so:

    void CDasControlCtrl::OnContextMenu(CWnd* pWnd, CPoint point) 
    {
        CMenu menu; 
        // Kontextmenü laden 
        menu.LoadMenu(IDR_MNU_KTXT); // ID des Menüs
        // Erstes Untermenü 
        CMenu * pContextMenu = menu.GetSubMenu(0); 
    
        // Kontextmenü anzeigen 
        pContextMenu->TrackPopupMenu(TPM_LEFTALIGN + TPM_RIGHTBUTTON, point.x, point.y, this); 	
    }
    


  • na hätte ich doch mal früher nachgesehen ob es noch antworten gibt 😉
    habs jetzt dank der beiden links von Martin Richter hinbekommen.

    deckt sich ungefähr mit dem vorschlag von estartu.

    vielen vielen dank euch beiden
    gruß
    Daniel


Anmelden zum Antworten