我定义了一个新的弹出式菜单类,标志符是IDC_CONTEXTMENU,
然后定义了添加上下文函数如下:
void CSampleMenuView::OnContextMenu(CWnd* pWnd, CPoint point) 
{
// TODO: Add your message handler code here
CMenu menu;
menu.CreatePopupMenu();
menu.AppendMenu(MF_ENABLED,ID_POPUPMENU_MORNING,_T("Morning"));
menu.AppendMenu(MF_ENABLED,ID_POPUPMENU_EVENING,_T("Evening"));
menu.AppendMenu(MF_ENABLED,ID_ADD_DRAWING,_T("Drawing"));
GetCursorPos(&point);
menu.TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,this);
}
现在我想把IDC_CONTEXT_MENU所对应的popup形菜单也添加进去,意思就是点右键,即有一般的菜单项,又有弹出式菜单向,该怎么做呢?

解决方案 »

  1.   

    CMenu menu,*pmenu;
    menu.LoadMenu(IDC_CONTEXTMENU);
    pmenu=menu.GetSubMenu(0);
    pmenu->TrackPopupMenu(TPM_RIGHTBUTTON,point.x,point.y,this);

      

  2.   

    CMenu menu,*pmenu;
    menu.LoadMenu(IDC_CONTEXTMENU);
    pmenu=menu.GetSubMenu(0);
    pmenu->AppendMenu(MF_ENABLED,ID_POPUPMENU_MORNING,_T("Morning"));
    pmenu->AppendMenu(MF_ENABLED,ID_POPUPMENU_EVENING,_T("Evening"));
    pmenu->AppendMenu(MF_ENABLED,ID_ADD_DRAWING,_T("Drawing"));
    pmenu->TrackPopupMenu(TPM_RIGHTBUTTON,point.x,point.y,this);