动态创建弹出式(右键)菜单

动态创建弹出式(右键)菜单

void CMenuView::OnRButtonDown(UINT nFlags, CPoint point)  

{  

    // TODO:    

    //动态创建弹出菜单   

    CMenu menu;  

    menu.CreatePopupMenu(); //创建一个弹出菜单   

    menu.AppendMenuW(MF_BYCOMMAND | MF_STRING, ID_RIGHT_CLEAR, _T("剪切(&X)")); //添加子菜单项   

    menu.AppendMenuW(MF_BYCOMMAND | MF_STRING, ID_RIGHT_COPY, _T("复制(&C)"));  

    menu.AppendMenuW(MF_BYCOMMAND | MF_STRING, ID_RIGHT_PASTE, _T("粘贴(&P)"));  

    menu.AppendMenuW(MF_SEPARATOR);  

    menu.AppendMenuW(MF_BYCOMMAND | MF_STRING, ID_RIGHT_CLEAR, _T("清除\tCtrl + C"));  

    ClientToScreen(&point); //将客户区的坐标转化为屏幕的坐标   

    menu.TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTALIGN, point.x, point.y, this); //加载弹出菜单   

  

    CView::OnRButtonDown(nFlags, point);  

你可能感兴趣的:(动态创建弹出式(右键)菜单)