VS2008中为MFC项目插入右键菜单

VC6中可用componets and controls Gallery方便的插入右键菜单,但在VS2008中没有此项功能。

经实验,插入过程如下:

1.在资源视图中新建并编辑菜单资源IDR_MENU1。

2.在类视图中,在CMainFrame类上点击右键-属性。

3.选择消息标签,选择WM_CONTEXTMENU消息,添加OnContexMenu()响应函数。(WM_CONTEXTMENU消息在右击窗口时触发)。

4.此时在CMainFrame类中可以看到加入的消息映射

BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
     ON_WM_CONTEXTMENU()
END_MESSAGE_MAP()

及消息响应函数 CMainFrame::OnContextMenu(CWnd* /*pWnd*/, CPoint pos)

编辑OnContextMenu函数,加入如下代码:

CMenu menu;
menu.LoadMenu(IDR_MENU1);
menu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_RIGHTBUTTON, pos.x, pos.y, this);

你可能感兴趣的:(VS2008中为MFC项目插入右键菜单)