右键菜单:
在View类中增加右键响应函数OnRButtonDown(UINT nFlags, CPoint point) ,在函数中增加:
ClientToScreen(&point);//坐标转换
CMenu menu;
menu.LoadMenu(IDR_POPUPMENU);//右键菜单
menu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN,point.x,point.y,this);
在CMainFrame类中的CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)函数中,
插入菜单:
GetMenu()->GetSubMenu(4)->InsertMenu(0,MF_BYPOSITION,12345,"asd");
设置缺省菜单:
GetMenu()->GetSubMenu(0)->SetDefaultItem(0,TRUE);
位图菜单:
m_bitmap.LoadBitmap(IDB_BITMAP1);
GetMenu()->GetSubMenu(0)->SetMenuItemBitmaps(0,MF_BYPOSITION,&m_bitmap,NULL);
使按钮失效:
GetMenu()->GetSubMenu(0)->EnableMenuItem(ID_FILE_OPEN,MF_BYCOMMAND | MF_GRAYED);
隐藏菜单:
SetMenu(NULL);
设置新菜单:
CMenu menu;
menu.LoadMenu(IDR_MENU1);
SetMenu(&menu);
menu.Detach();//由于menu为局部变量,所以得调用CMenu::Detach()函数
增加一个弹出式菜单按钮:
CMenu menu;
menu.CreatePopupMenu();
GetMenu()->AppendMenu(MF_POPUP,(UINT)menu.m_hMenu,"操作");