怎样动态的添加和删除菜单栏的选项
来源:互联网 发布:摄像头ip修改软件 编辑:程序博客网 时间:2024/05/23 14:04
在编程的时候我们经常遇到在程序中运行的过程中动态的变化或者删除菜单栏的某几项,或者在某些操作的时候让某些选项不要显示,怎么做呢?
1、创建MFC AppWizard(exe)工程,名称随便写
2、选择单文档工程,点击完成。
3、在资源视图对menu进行如下设置
其中增加的ID设为IDM_CONTROL_PLUS,恢复的ID设为IDM_CONTRON_RESTORE,原有菜单项的ID为IDM_ITEM_ORIGN
4、在String Table中双击最后以后空白栏,进行如下设置
5、添加消息映射,在建立类向导中在Class Name 中CMyView(即自己工程产生的一个类),在Object IDs中分别选择IDM_CONTROL_PLUS和IDM_CONTRON_RESTORE,将其在Message中全部设置成Commend点击Add Function。
6、在新产生的两个函数中添加如下代码
void CMyView::OnControlPlus()
{
// TODO: Add your command handler code here
CMenu *pTopMenu,*pNewMenu;
pTopMenu=AfxGetMainWnd()->GetMenu();
pNewMenu=pTopMenu->GetSubMenu(4);
pNewMenu->AppendMenu(MF_SEPARATOR);
CString newMenuName;
newMenuName.LoadString(IDM_ITEM_NEW);
pNewMenu->AppendMenu(MF_STRING,IDM_ITEM_NEW,newMenuName);
}
void CMyView::OnContronRestore()
{
// TODO: Add your command handler code here
CMenu *pTopMenu,*pNewMenu;
pTopMenu=AfxGetMainWnd()->GetMenu();
pNewMenu=pTopMenu->GetSubMenu(4);
pNewMenu->DeleteMenu(2,MF_BYPOSITION);
pNewMenu->DeleteMenu(1,MF_BYPOSITION);
}
然后运行一下试试效果吧。。。
- 怎样动态的添加和删除菜单栏的选项
- tabs 动态的添加和删除选项卡 和 幻灯效果
- AngularJs:动态添加和删除选项卡
- 两个listbox实现选项的添加删除和搜索
- 添加和删除选项
- 动态添加和删除table的一行
- javascsript 动态的添加和删除。
- 动态添加和删除table的一行
- javascript实现动态添加和删除文件上传选项
- 利用MFC动态向AutoCAD的菜单栏添加菜单
- jquery 动态添加 select 的 选项
- 添加和删除选项:javascript
- jquery的动态添加删除
- 动态的添加、删除表单
- js动态的添加删除表格的行和列
- 对表格的动态的添加和删除修改
- js动态的添加删除表格的行和列
- 怎样可以删除多余的桌面右键选项
- java 对ArrayList排序,实现Comparable接口
- IOS网络指示器实例
- 触发器实现级联修改数据库中的相关表
- 浅谈树形背包问题
- IOS应用图标上的数字提示实例
- 怎样动态的添加和删除菜单栏的选项
- 类型转换
- 用busybox制作嵌入式Linux的文件系统
- MySQL配置文件浅读
- PHP查看错误日志
- jquery动态添加table和行
- SSH总结
- 数组与指针
- WebSEAL 联结