在MFC工程中新建一个对话框

1.MFC简介

Microsoft Foundation Class微软基础类库,这个类集以层次结构组织起来,其中封装了发部分的Windows API函数和Windows控件,它所包含的功能设计整个Windows操作系统。使用MFC类库和VC++提供的高度可视的应用开发工具,可使应用程序开发更加简单,开发周期大大缩短,提高代码的可靠性和可重用性。

2.任务

新建一个MFC工程后,选在经典MFC界面,下一步下一步...然后编译即可得到一个最基本的MFC工程。该工程存在一个菜单栏,用户区和一个工具栏。在菜单栏中有一个叫做“关于”的菜单项,点击即可弹出一个模式对话框。为了加深对MFC框架的理解,我想在这个工程中添加一个自己的对话框,从而了解到底是哪些部分在操纵着对话框资源的建立和使用。

3.过程

1.为各个需要用到的资源分配ID




2.在主程序窗口类中添加响应函数声明并在.cpp文件中实现

void CCaculatorApp::OnMydlg()
{
	CMYDLG MyDlg;
	MyDlg.DoModal();
}
3.在.cpp文件的消息映射中添加与自己的对话框有关的消息映射

BEGIN_MESSAGE_MAP(CCaculatorApp, CWinApp)
	ON_COMMAND(ID_APP_ABOUT, &CCaculatorApp::OnAppAbout)
	ON_COMMAND(ID_32772,&CCaculatorApp::OnMydlg)
	// 基于文件的标准文档命令
	ON_COMMAND(ID_FILE_NEW, &CWinApp::OnFileNew)
	ON_COMMAND(ID_FILE_OPEN, &CWinApp::OnFileOpen)
	// 标准打印设置命令
	ON_COMMAND(ID_FILE_PRINT_SETUP, &CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()
3.新建一个对话框类继承CDialogEx,与资源文件中自己的对话框绑定

class CMYDLG : public CDialogEx
{
public:
	CMYDLG();

// 对话框数据
	enum { IDD = IDD_MYDLG };

protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持
 实现(若对话框内无空间则不添加下面那条消息映射声明,否则编译出错)
//protected:
//	DECLARE_MESSAGE_MAP()
};

4.效果

点击“计算单元”中的“我的对话框”,弹出成功。





相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页