文档详情

VC菜单的动态创建实例解析.doc

发布:2017-04-22约小于1千字共3页下载文档
文本预览下载声明
VC菜单的动态创建 实例解析 第一步:在resouse.h中写 #define ID_MENU1 1001 #define ID_MENU2 1002 #define ID_MENU3 1003 定义三个子菜单的ID 第二步:定义一个在对话框类的成员变量中定义一个菜单类对象; CMenu m_menu; 第三步:在对话框类中OnInitDialog()方法中写一下代码: m_menu.CreateMenu(); CMenu m1; m1.CreatePopupMenu(); m_menu.AppendMenu(MF_POPUP,(UINT)m1.m_hMenu,动物); m1.AppendMenu(MF_STRING,ID_MENU1,狗); m1.AppendMenu(MF_STRING,ID_MENU2,猫); m1.AppendMenu(MF_STRING,ID_MENU3,猪); SetMenu(m_menu); CMenu m2; m2.CreatePopupMenu(); m_menu.AppendMenu(MF_POPUP,(UINT)m2.m_hMenu,植物); SetMenu(m_menu); 第四步:创建菜单响应的消息处理函数: afx_msg void OnDog(); afx_msg void OnCat(); afx_msg void OnPig(); 如图: 第五步:创建创建消息映射; ON_COMMAND(ID_MENU1,OnDog) ON_COMMAND(ID_MENU2,OnCat) ON_COMMAND(ID_MENU3,OnPig) 分别将ID与响应函数相连接。 第六步:写响应函数 void CLrfDlg::OnDog() { MessageBox(可爱的小狗); } void CLrfDlg::OnCat() { MessageBox(可爱的小猫,菜单测试); } void CLrfDlg::OnPig() { MessageBox(可爱的小猪); } 演示结果如图:
显示全部
相似文档