MFC实现菜单弹出对话框,并在对话框中实现控件触发
首先我们要新建一个mfc工程,实验工具是vs,选择图中选项
然后下一步当中,设置成基于对话框
然后可以完成,也可以继续下一步设置窗口的一下小部件。
1.第一步,我们要在窗口上添加菜单。找到资源视图,右键添加资源。
选择menu,新建
之后,输入自己想要的菜单名
最后在
添加图中所缺代码:
CMenu menu;
menu.LoadMenu(IDR_MENU1); //IDR_MENU1为菜单栏ID号
SetMenu(&menu);
至此完成了,菜单功能
2.第二步,我们新建一个dialog,注意这里要找到资源视图--dialog文件夹--右键--插入dialog(E)
然后,右键--添加类(C),自己取个名字。注意,这个类,接下来要用到。
3.第三步,我们就要在原有菜单基础上,通过菜单触发打开新的对话框
首先,在刚刚编辑菜单的界面,右键下拉菜单中的一个,添加事件处理程序
接着添加编辑
进入编辑区,首先,在头文件区域,加上刚刚所建的类,这里我取的名字是ai,所以我添加的是
#include“ai.h”
在编辑区加上
到此,完成了菜单触发对话框:
4.最后,就是要求的控件触发的任务了,这里给大家演示显示图片和文字吧。
显示图片,我们在刚刚新建的dialog中加入button控件,双击进入或者右键添加事件处理程序,添加图中代码,
代码:
CImage image1;
image1.Load(_T("d:\\iverson.png"));
CDC* pDC = GetWindowDC();
image1.Draw(pDC->m_hDC, 60, 80);
ReleaseDC(pDC);
然后运行测试,点击button1,就实现控件触发了。
接着是显示文字
我们在刚刚的dialog上添加editcontrol,和button2 然后右键editcontrol添加变量(C)
之后的界面,在变量名那里取个名字,这里取名AI
之后,双击button2或者右键添加事件处理程序,添加图中代码
代码:
AI.SetWindowTextW(_T("阿伦艾弗森"));
至此完成任务,运行程序,测试;