VC++控件使用——菜单

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档