码迷,mamicode.com
首页 > 编程语言 > 详细

MFC_菜单

时间:2016-10-28 15:18:52      阅读:292      评论:0      收藏:0      [点我收藏+]

标签:int   client   设置   upd   menu   amp   tde   point   set   

1.菜单索引号确定菜单的索引号,注意从 0 开始,分隔符也算数。什么叫弹出菜单(Popup Menu)?一个

子菜单只能有一个缺省菜单。

1 //GetMenu()->GetSubMenu(0)->SetDefaultItem(5,TRUE);
2 str.Format("x=%d,y=%d",GetSystemMetrics(SM_CXMENUCHECK),
3 GetSystemMetrics(SM_CYMENUCHECK));//获得系统的菜单的位图的大小。
4 /* SetMenu(NULL);//移除菜单 CMenu menu;
5 menu.LoadMenu(IDR_MAINFRAME);
6 SetMenu(&menu);
7 menu.Detach();*/增加菜单,此处 detach(),如果是局部变量。

 2.设置菜单可用情况

1 void CMainFrame::OnUpdateEditCut(CCmdUI* pCmdUI)
2 {4 pCmdUI->Enable();//当此菜单显示时,设为可用。
5 }

 3.右键弹出菜单程序

    两种方法1.添加控件Project->Add to Project->component and controls->文件夹 VC components->Popup Menu OK

               2.自己创建函数TrackPopupMenu(),在右键响应函数中确定

1 CMenu menu;
2 menu.LoadMenu(IDR_MENU1);//menu1 实在资源视图中自己创建的函数
3 CMenu *pPopup=menu.GetSubMenu(0);  
4 ClientToScreen(&point);  //这句话是坐标和菜单对应
5 pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y,
6 GetParent());

 

  4.创建动态菜单

  

 1 CMenu menu;
 2 menu.CreatePopupMenu();//创建弹出菜单
 3 // GetMenu()->AppendMenu(MF_POPUP,(UINT)menu.m_hMenu,"WinSun");
 4 GetMenu()->InsertMenu(2,MF_BYPOSITION  |
 5 MF_POPUP,(UINT)menu.m_hMenu,"WinSun");
 6 menu.AppendMenu(MF_STRING,IDM_HELLO,"Hello");
 7 menu.AppendMenu(MF_STRING,112,"Weixin");
 8 menu.AppendMenu(MF_STRING,113,"Mybole");
 9 menu.Detach();
10 GetMenu()->GetSubMenu(0)->AppendMenu(MF_STRING,114,"Welcome");
11 GetMenu()->GetSubMenu(0)->InsertMenu(ID_FILE_OPEN,
12 MF_BYCOMMAND | MF_STRING,115,"维新");
13 // GetMenu()->DeleteMenu(1,MF_BYPOSITION);
14 // GetMenu()->GetSubMenu(0)->DeleteMenu(2,MF_BYPOSITION);

 

MFC_菜单

标签:int   client   设置   upd   menu   amp   tde   point   set   

原文地址:http://www.cnblogs.com/Alimonky/p/5951913.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!