MFC菜单栏的创建和使用
来源:互联网 发布:mac系统 流程图 编辑:程序博客网 时间:2024/06/08 05:18
注意当我们创建菜单栏的时候,最上面的那个文字标签对应的ID是不可以编辑的,因为它无法对应一个事件,只有下拉的菜单才可以有一个ID号码,可以对应一个具体的相应事件。
菜单栏的使用和工具栏的使用有重复的地方,可以对应相同的响应事件,工具栏其实就是方便菜单栏的使用,创建一个带图片的按钮。
菜单栏的加载和显示:在系统初始化的OnInitDialog最后面添加代码如下,这里我们可以把CMenu作为一个全局的变量放在最前面
方法1:
//CMenu menu;作为全局变量放到最前面方便更新 menu.LoadMenuW(IDR_MENU1); this->SetMenu(&menu); menu.Detach();
方法2:
//方法2 menu.CreateMenu(); menu.AppendMenuW(MF_POPUP, (UINT)menu.m_hMenu, _T("ABC")); menu.AppendMenuW(MF_POPUP, (UINT)menu.m_hMenu, _T("编辑")); menu.InsertMenuW(2, MF_POPUP, (UINT)menu.m_hMenu, _T("视图")); menu.GetSubMenu(1)->AppendMenuW(MF_SEPARATOR); //在“打开”后面添加了一个分隔符, menu.GetSubMenu(1)->AppendMenuW(MF_STRING, ID_111, _T("关闭")); this->SetMenu(&menu); menu.Detach();
菜单栏按钮与事件的关联:
BEGIN_MESSAGE_MAP(CAutoPlatDlg, CDialogEx) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_BUTTON1, &CAutoPlatDlg::OnBnClickedButton1)//将IDC_BUTTON1与事件OnBnClickedButton1绑定 ON_BN_CLICKED(ID_32771, &CAutoPlatDlg::OnBnClickedButton1)//将IDC_32771与事件OnBnClickedButton1绑定END_MESSAGE_MAP()
CMenu类中几个重要的成员函数
BOOL LoadMenu(UINT nIDResource);
加载菜单资源,并将其附加到Cmenu对象上,参数 nIDResource指定了要加载的菜单资源的ID号码,加载成功返回true,加载失败返回false;
BOOL DeleteMenu(UINT nPosition,UINT nFlags);
在菜单中删除一个菜单项,参数nPosition指定要删除的菜单项,参数nFlags就用来解释.
当nFlag为MF_BYCOMMAND时,nPosition表示菜单栏的ID,当nFlag为MF_BYPOSITION时,nPosition表示菜单栏的位置(第一个菜单项位置为0);
BOOL AppendMenu( UINT nFlags, UINT nIDNewItem = 0, LPCTSTR lpszNewItem = NULL );
menu.AppendMenuW(MF_POPUP, (UINT)menu.m_hMenu, _T("编辑"));
nFlag一般为MF_POPUP,nIDNewItem为创建的菜单项的ID,LPCTSTR为菜单项的名称,
BOOL InsertMenu(UINT nPosition, UINT nFlags, UINT_PTR nIDNewItem = 0,LPCTSTR lpszNewItem = NULL);
menu.InsertMenuW(2, MF_POPUP, (UINT)menu.m_hMenu, _T(“视图”));
阅读全文
0 0
- MFC菜单栏的创建和使用
- MFC 菜单栏的使用
- MFC 菜单栏的使用
- MFC 菜单栏的使用
- MFC基于对话框的菜单栏,工具栏和状态栏的创建
- MFC可停靠菜单栏的创建过程
- 菜单栏和工具栏的创建
- MFC学习之菜单栏创建
- 窗体菜单栏的创建与使用
- MFC win32 Dll的创建和使用
- MFC处理菜单栏和工具栏
- MFC的对话框工具栏、状态栏、和菜单栏的编辑
- VC6 单文档 替换MFC默认的菜单栏和工具栏
- MFC 2008,新的用户界面 - 3 - 菜单栏、工具栏和状态栏
- 菜单栏的创建
- 关于菜单栏和状态栏的使用
- Qt5 菜单栏和工具栏的使用
- mfc图形菜单栏的编写
- webservice
- java StringBuilder类中的常用方法 及StringBuilder与StringBuffer的区别
- JS中操作数组的常用函数
- JZOJsenior1384. Alice的游戏
- centos7下KVM的网桥模式配置
- MFC菜单栏的创建和使用
- Java Collections的min和max方法
- String的使用
- C语言及程序设计初步 Lesson 7 项目:1计算正差值,2判断输出三个整数中的最大值,3计算周工资
- 等差数列
- SpringAOP技术学习---Day1
- URDF文件的生成和编写(四)
- 【神奇的技巧】leetcode
- C# 中 使用Connection 打开/关闭数据库