mfc-菜单-学习笔记

来源:互联网 发布:seo的优化 编辑:程序博客网 时间:2024/05/01 12:44

右键菜单

在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,"操作");


0 0
原创粉丝点击