MFC对话框添加菜单栏
来源:互联网 发布:极射赤平投影软件 编辑:程序博客网 时间:2024/04/29 13:02
添加菜单栏步骤
菜单栏CMenu:
1、添加菜单
1、在资源文件中 添加Menu资源,确定ID
2、可在Menu上插入相关菜单
2、绑定对话框
在资源文件中找到对话框Dialog,在其属性上,添加Menu的ID
3、添加菜单响应函数
两种方法
1、在项目-类向导上,确定类名后,在命令-对象上找到相应菜单Id
如:ID_Menu_OpenFile. 添加COMMAND消息就好。
2、在资源文件Menu上,直接双击此菜单即可。
4、在对话框设置菜单状态:
CMenu *menu = GetMenu();
if(isOpenFile){
menu->EnableMenuItem(ID_OpenFile_Menu, MF_GRAYED);
menu->EnableMenuItem(ID_CloseFile_Menu, MF_ENABLED);
menu->EnableMenuItem(ID_PicEdit_Menu, MF_ENABLED);
} else{
menu->EnableMenuItem(ID_OpenFile_Menu, MF_ENABLED);
menu->EnableMenuItem(ID_CloseFile_Menu, MF_GRAYED);
menu->EnableMenuItem(ID_PicEdit_Menu, MF_GRAYED);
}
5、添加浮点菜单
CMenu *pMenu, Menu;
Menu.LoadMenu(IDR_MENU2);
pMenu = Menu.GetSubMenu(0);
ClientToScreen(&mousePos); //mousePos为位置
pMenu->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, mousePos.x, mousePos.y, this);
6、添加菜单快捷方式
1、菜单上的提示,在菜单命名时,可加\tCtrl+O,如:打开文件\tCtrl+O
2、在资源文件中添加:Accelerator快捷资源,然后编辑:
在ID栏填写所需要快捷的菜单ID,修饰符、键 自行编辑
3、在对话框类上,添加快捷键变量:HACCEL mhAccel;
4、在类的成员函数OnInitDialog()中添加:
hAccel = ::LoadAccelerators(AfxGetInstanceHandle(),
MAKEINTRESOURCE(IDR_ACCELERATOR1));
5、在PreTranslateMessage(MSG* pMsg)函数中,添加:
if(::TranslateAccelerator(GetSafeHwnd(),mhAccel,pMsg))
return TRUE;
- MFC对话框添加菜单栏
- MFC对话框添加菜单栏
- MFC基于对话框添加菜单栏
- MFC 基于对话框 程序,如何添加菜单栏
- 基于MFC对话框程序中添加菜单栏
- MFC编程--添加基于对话框的菜单栏
- MFC对话框添加菜单栏并添加鼠标单击响应
- 基于MFC对话框程序中添加菜单栏 (CMenu)
- VS2010的MFC对话框程序中添加菜单栏的过程
- VC/MFC 在对话框中添加菜单栏并响应
- 基于MFC对话框程序中添加菜单栏 (CMenu)
- VS2010的MFC对话框程序中添加菜单栏的过程
- 基于MFC对话框程序中添加菜单栏 (CMenu)
- MFC中向对话框中添加菜单栏方法
- 【MFC】MFC 对话框显示菜单栏
- 给对话框添加菜单栏
- MFC添加菜单栏
- MFC Dialog 添加菜单栏
- 找女朋友
- Error: cannot fetch plan for statement_id 'PLUS22048358'
- ELF文件和BIN文件
- express redis socket 消息提醒方案2:订阅redis,推送消息
- mysql truncate table未释放表空间磁盘空间
- MFC对话框添加菜单栏
- 【HDU】1131 - Count the Trees(组合数学 - 卡特兰数 & java)
- POJ 2479 (简单dp)
- scrapy 中解决 xpath 中的中文编码问题
- java读写文本文件大全
- Spring 框架表达式语言(SpEL)
- CodeReview/代码评审
- 混合开发的大趋势之一React Native ScrollView (拉伸视图),ListView(列表视图)
- 四种排序算法