MFC: 孙鑫教程6笔记

这节课的主要内容是讲菜单,分为静态菜单和动态菜单

一。给菜单项文件里的子菜单项新建打上checked标记

1. 在CMainFrame的OnCreate函数里加上:GetMenu()->GetSubMenu(0)->CheckMenuItem(ID_FILE_NEW, MF_BYCOMMAND | MF_CHECKED);

                                      或者:GetMenu()->GetSubMenu(0)->CheckMenuItem(0, MF_BYPOSITION | MF_CHECKED);

 

二。让菜单项不能使用,比如让文件的打开项不能用

1. 在资源列表里找到menu,对文件里的打开项增加UPDATE_COMMAND_UI响应函数

2. 该响应函数CMainFrame::OnUpdateFileNew里增加:pCmdUI->Enable(FALSE);

 

三。右键菜单

1. View里增加WM_RBUTTONDOWN消息响应函数

2. 创建menu并加载已经在资源里建好的menu

CMenu menu;

menu.LoadMenu(IDR_MENU1);

3. 获取子菜单

CMenu *pPopup = menu.GetSubMenu(0);

4. 转换客户区坐标

ClientToScreen(&point);

5. 设置属性

pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this);

 

其他:设置默认菜单项,设置图形菜单,删除菜单项,加载菜单项,动态编辑菜单

感觉没什么意义

你可能感兴趣的:(mfc)