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);