C++ 笔记006 VS2015 MFC右键弹出菜单

一 资源视图中新增加一个菜单资源IDR_MENUVIEW 顶级菜单随便输入文字

    子菜单增加三个菜单,属性设置如下:

                                   ID:  ID_CUT_VIEW       Caption:剪切

                                   ID:  ID_COPY_VIEW    Caption:复制

                                   ID:  ID_PASTE_VIEW   Caption:粘贴

二 View右键,类向导->消息->添加一个右键按下的消息映射 WM_RBUTTONDWON,处理函数OnRButtonDown()

    View.cpp中增加如下代码

void CMMenuView::OnRButtonDown(UINT nFlags, CPoint point)
{
    CMenu m;
    m.LoadMenuW(IDR_MENU1);
    CMenu *popMenu;
    popMenu = m.GetSubMenu(0);
    ClientToScreen(&point); //如果不加,菜单出现的位置是相对屏幕的点,这个函数的功能是将View区的坐标点转为屏幕坐标点
    popMenu->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y,this);

    CView::OnRButtonDown(nFlags, point);
}

三 View 类视图上右键 ->类向导->命令->对象ID里面找到菜单中的三个ID选中,消息中选择:COMMAND 单击"添加处理程序"

  三个函数名OnCutView(),OnCopyView(),OnPasteView

   为每个函数添加一个MessageBox消息框:

void CMMenuView::OnCutView()
{
    MessageBox(L"剪切");
}

void CMMenuView::OnCopyView()
{
    MessageBox(L"复制");
}

void CMMenuView::OnPlateView()
{
    MessageBox(L"粘贴");
}

 

猜你喜欢

转载自www.cnblogs.com/zhou8744/p/10428957.html
今日推荐