ListControl Kontextmenu



  • Guten Morgen,
    ich versuche seit geraumer Zeit ein Menu anzeigen zu lassen, wenn
    ich auf ein ListControl klicke. Geht das überhaubt???
    Da es ja nur die Message NM_RCLICK gibt, und da weiß ich ja dann nicht wo die Maus sich befindet. Oder steh ich irgendwie völlig aufm Schlauch???



  • Mausposition holen mit: GetCursorPos (API)



  • Ich habe das mit einem kleinen Trick gelöst
    Erst prüfe ich ob die Rechte Maustaste im Fenster angesprochen wird
    diese Aktion setzt eine Hilfsvariable auf 1
    Dann wird die Kontexmenüoption aufgerufen und die Variable wieder auf 0 gesetzt

    void BestellungenDlg::OnRclickWahrenkorb(NMHDR* pNMHDR, LRESULT* pResult)
    {

    Bereich = 1;//Hilfsvariable int

    *pResult = 0;
    }

    void BestellungenDlg::OnContextMenu(CWnd* pWnd, CPoint point)
    {

    if (Bereich == 1)
    {
    menu.LoadMenu(IDR_MENU1);
    CPoint p_Point;
    GetCursorPos(&p_Point);

    menu.GetSubMenu(0)->TrackPopupMenu(0,p_Point.x,p_Point.y,this);

    Bereich = 0;
    }

    }

    Vossy


Log in to reply