WinCE中为基于对话框的程序动态增加菜单
2011-05-14 14:08
169 查看
在使用MFC编写WinCE基于对话框的程序时,有的时候想给程序添加菜单项,可是使用桌面版得方法不起作用,不知道为什么?
桌面版:
CMenu *menu = new CMenu;
menu-> LoadMenu(IDR_MENU1);
SetMenu(menu);
这样就可以为程序添加菜单了,可是这种方法不知道为什么在WinCE中部起作用,还是另辟蹊径吧!
WinCE版:
1.在*.rc资源上右键==>Add Resource==>Menu==>New,这样就添加了一个菜单资源,默认ID为IDR_MENU1;
2.打开IDR_MENU1,增加菜单项,然后为各菜单项添加命令响应,方法是:在菜单项上右键==>Add Event Handler,
在Message Type中选择COMMAND,class list中选择对话框类吧,函数名可以根据自己的需要进行修改,完了之后
点击Add and Edit,此时VS会帮你跳转到自动生成代码处,接下来添加具体操作就可以了;
3.在OnInitDialog()中添加如下代码:
HINSTANCE g_hInst = ::AfxGetInstanceHandle();
HWND m_hWndMenu;
m_hWndMenu = ::CommandBar_Create(g_hInst, m_hWnd, 1);
if(m_hWndCB != NULL)
{
::CommandBar_InsertMenubar(m_hWndMenu, g_hInst, IDR_MENU1, 0);
::CommandBar_AddAdornments(m_hWndMenu, 0, 0);
::CommandBar_Show(m_hWndMenu, TRUE);
}
编译后重新运行就可以看见你自己用代码动态添加的菜单了。
需要注意的是:在对话框中要给菜单留出一定的位置用于显示,要不然创建后的菜单挤在一起的,还是没法看,这个自己稍微调整一下就OK了。
桌面版:
CMenu *menu = new CMenu;
menu-> LoadMenu(IDR_MENU1);
SetMenu(menu);
这样就可以为程序添加菜单了,可是这种方法不知道为什么在WinCE中部起作用,还是另辟蹊径吧!
WinCE版:
1.在*.rc资源上右键==>Add Resource==>Menu==>New,这样就添加了一个菜单资源,默认ID为IDR_MENU1;
2.打开IDR_MENU1,增加菜单项,然后为各菜单项添加命令响应,方法是:在菜单项上右键==>Add Event Handler,
在Message Type中选择COMMAND,class list中选择对话框类吧,函数名可以根据自己的需要进行修改,完了之后
点击Add and Edit,此时VS会帮你跳转到自动生成代码处,接下来添加具体操作就可以了;
3.在OnInitDialog()中添加如下代码:
HINSTANCE g_hInst = ::AfxGetInstanceHandle();
HWND m_hWndMenu;
m_hWndMenu = ::CommandBar_Create(g_hInst, m_hWnd, 1);
if(m_hWndCB != NULL)
{
::CommandBar_InsertMenubar(m_hWndMenu, g_hInst, IDR_MENU1, 0);
::CommandBar_AddAdornments(m_hWndMenu, 0, 0);
::CommandBar_Show(m_hWndMenu, TRUE);
}
编译后重新运行就可以看见你自己用代码动态添加的菜单了。
需要注意的是:在对话框中要给菜单留出一定的位置用于显示,要不然创建后的菜单挤在一起的,还是没法看,这个自己稍微调整一下就OK了。
相关文章推荐
- WinCE中为基于对话框的程序动态增加菜单
- 基于对话框程序添加菜单
- 基于对话框程序添加菜单
- MFC基于对话框的程序添加菜单&点击菜单弹出一个新的对话框
- 基于对话框的MFC程序加入菜单资源
- MFC基于对话框的程序添加菜单&点击菜单弹出一个新的对话框
- 基于对话框程序用ON_UPDATE_COMMAND_UI更新菜单
- 如何在基于对话框的程序中动态设置鼠标指针
- CnCrypt代码 之 为对话框动态增加菜单
- 基于对话框程序菜单变灰问题
- 如何在一个基于对话框的程序中添加 Menu 菜单
- 使用函数递归实现基于php和MySQL的动态树型菜单
- 基于Oracle的高性能动态SQL程序开发
- MFC-菜单的动态(增加 插入 删除 响应)
- 在Winform界面菜单中实现动态增加【最近使用的文件】菜单项
- 如何让基于对话框的MFC程序一运行起来就完全隐藏
- 基于MFC对话框程序中添加菜单栏 (CMenu)
- 基于对话框的程序的框架
- 基于对话框的MFC应用程序实现菜单的勾选功能
- 自己写的基于MFC对话框的用于调试程序的UDP客户端服务器端程序