VC++控件使用——菜单
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VC++简单应用指南四——菜单一、菜单资源设计
1.打开工作区窗口,在Resource View选项卡中,右击,选择插入
2.打开插入资源对话框,选择Menu节点,点击新建
3.打开菜单资源设计窗口,再按Enter键,显
示菜单资源属性窗口
4.在菜单资源属性窗口中填写标题
5.选中菜单标题填写的子菜单,并点击Enter 键或者双击
6.添加分割线,在菜单资源属性中点选分隔符(Separator)
7.子菜单添加弹出菜单,菜单资源属性中点选弹出(Pop-up)8.给菜单添加快捷键,在标题后添加“&+字母”,则Alt+字母就是快捷键
二、菜单项的命令处理
1.命令设置在类向导中;打开类向导,点选Message Maps选项卡
2.打开Message Maps选项卡,Class name对应对话框;Object IDs对应菜单项ID;Messages 对应事件:COMMAND单击事件
3.选择COMMAND单击事件,点击Add Function,弹出创建窗口,点击OK
4.在类向导中点击Edit Code按钮,显示命令处理函数
三、动态创建菜单
1.创建基于对话框的应用程序
2.头文件中声明一个CMenu类对象m_Menu
3.1在FileView选项卡中打开资源头文件
(Resource.h),定义命令ID
3.2在资源头文件中添加的代码如下
#define ID_MENUCAT 1001
#define ID_MENUDOG 1002
#define ID_MENUMONKEY 1003
4.1在对话框OnInitDialog方法中创建菜单 4.2创建菜单程序
m_Menu.CreateMenu();
CMenu m_PopMenu;
m_PopMenu.CreatePopupMenu();
m_Menu.AppendMenu(MF_POPUP,(UINT)m_PopMenu,m_hMenu,"动物");
m_PopMenu.AppendMenu(MF_STRING,ID_MENUCAT,"猫");
m_PopMenu.AppendMenu(MF_STRING,ID_MENUDOG,"狗");
m_PopMenu.AppendMenu(MF_STRING,ID_MENUMONKEY,"猴子");
m_Menu.AppendMenu(MF_POPUP,-1,"植物");
m_PopMenu.Detach();
SetMenu(&m_Menu);
5.2程序
5.1在对话框的头文件中声明菜单的消息处
理函数
afx_msg void OnMenucat();
afx_msg void OnMenudog();
afx_msg void OnMenumonkey();
6.2程序
6.1在对话框源文件中添加消息映射宏,将命
令ID关联到消息处理函数中
ON_COMMAND(ID_MENUCAT,OnMenucat)
ON_COMMAND(ID_MENUDOG,OnMenudog)
ON_COMMAND(ID_MENUMONKEY,OnMenumonkey)
7.1在对话框源文件中添加消息处理函数7.2程序
void CMy124Dlg::OnMenucat()
{
MessageBox("猫");
}
void CMy124Dlg::OnMenudog()
{
MessageBox("狗");
}
void CMy124Dlg::OnMenumonkey()
{
MessageBox("猴子");
}
四、创建弹出式菜单
1.创建基于对话框的应用程序
2.在资源选项卡中右击,选择插入,在插入资
源窗口中选择Menu 点击新建
3.对菜单进行编辑
4.在对话框头文件中声明一个CMenu类对象
m_Menu
5.在OnInitDialog方法中调用LoadMenu方法加载菜单资源
6.在类视图选项卡中,右击对话框程序节点,然后选择Add Windows Message Handler命令,在弹出的对话框中选择WM_RBUTTONUP 事件,点击Add Handler ,点击确定:鼠标右键抬起触发
m_Menu.LoadMenu(IDR_MENU1);
7.1在鼠标右键抬起事件处理函数中添加代
码
7.2程序
CMenu *pMenu =
m_Menu.GetSubMenu(0);
CRect rect;
ClientToScreen(&point);
rect.top = point.x;
rect.left = point.y;
pMenu->TrackPopupMenu(TPM_LEFTALIG
N|TPM_LEFTBUTTON|TPM_VERTICAL,rect.top,
rect.left,this,&rect);
8.1给弹出菜单中添加文件增加单击事件8.2程序
MessageBox("成功");
五、创建图标菜单
1.创建基于对话框的应用程序
2.在工作区窗口选择Recource View选项卡,
右击一个节点,弹出快捷菜单,点击Insert
命令
3.在插入资源窗口,选择菜单资源,插入并编辑
4.新建一个类;打开类向导,创建类名为CMenuIcon,
5.打开CMenuIcon类的头文件,为该类添加一个基类Cmenu