一个list control
如何实现选中里面的某一项,然后鼠标右击,可以弹出一个菜单栏?
这个菜单栏最好是针对某一项的,就是,如果项不给选中,右击则不会弹出菜单。谢谢!!!!

解决方案 »

  1.   

    给List加NM_RCLICK消息响应函数
    void OnRclickList(NMHDR* pNMHDR, LRESULT* pResult) 
    {
    NMLISTVIEW* pnmlv = (NMLISTVIEW*)pNMHDR;
    /*==========================================*/
    CPoint point;
    GetCursorPos(&point);
    int iItemIndex = m_List.GetSelectionMark();
            if(iItemIndex >=0)
    {
               CMenu menu;
       VERIFY(menu.LoadMenu(IDR_POPUP_VARIANT_LIST));
       CMenu * pPopup = (CMenu*)menu.GetSubMenu(0);
       if(pPopup)
       {
                 pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y,this);
               }
              }
    }