文章目录
- 配置设置
- 建立MFC工程的三部曲
- 1.建立CWinApp 类的派生类
- 2.重写CWinApp
- 3.定义CWinApp派生类的全局变量
- 全部代码
 
- 添加对话框资源
- 创建窗口类继承CDialog
 
- 导入资源文件
- 修改资源文件ID
- 加载资源文件
 
- 全部代码
配置设置

建立MFC工程的三部曲
1.建立CWinApp 类的派生类
class CFirstApp :public CWinApp
{
};
2.重写CWinApp
class CFirstApp :public CWinApp
{
public:
	//InitInstance当作我们的入口函数,MFC初始化函数
	BOOL InitInstance()
	{
		MessageBox(NULL, "这是我的MFC程序", "提示", MB_OK);
		return TRUE;
	}
};
3.定义CWinApp派生类的全局变量
CFirstApp theApp;//这个名字叫什么随便都可以
全部代码
#include <afxwin.h> //MFC 的核心头文件,里面包含#include<Windows.h>
//从Win32 过度到MFC
//建立MFC工程的三部曲
//1.建立CWinApp 类的派生类
//2.重写CWinApp 
class CFirstApp :public CWinApp
{
public:
	//InitInstance当作我们的入口函数,MFC初始化函数
	//启动管理,初始化,虚函数
	BOOL InitInstance()
	{
		MessageBox(NULL, "这是我的MFC程序", "提示", MB_OK);
		return TRUE;//初始化
	}
	//退出:清理工作
	int  ExitInstacne()
	{
		return 0;//返回函数:返回到WinMain函数的返回值
	}
};
//3.定义CWinApp派生类的全局变量
//MFC 应用程序的核心对象,有且只有一个
CFirstApp theApp;//这个名字叫什么随笔都可以
添加对话框资源

CDialog 对话框窗口类函数
CDialog( LPCTSTR lpszTemplateName, CWnd* pParentWnd = NULL );
CDialog( UINT nIDTemplate, CWnd* pParentWnd = NULL );

创建窗口类继承CDialog
//对话框类
//一个窗口类,只处理一个窗口
class CMainDlg :public CDialog
{
public:
	CMainDlg() :CDialog(IDD_MAIN_DLG)
	{
	}
	
	//初始化函数,虚函数,重写
	BOOL OnInitDialog()
	{
		//设置窗口标题
		SetWindowText("我的第一个MFC");
		//Win32 ,WM_SETICON
		//SetIcon();
		return TRUE;
	}
};
//从Win32 过度到MFC
//建立MFC工程的三部曲
//1.建立CWinApp 类的派生类
//2.重写CWinApp 
class CFirstApp :public CWinApp
{
public:
	//InitInstance当作我们的入口函数,MFC初始化函数
	//启动管理,初始化,虚函数
	BOOL InitInstance()
	{
		
		//CDialog dlg;//专门操作对话框的类
		CMainDlg dlg;
		dlg.DoModal();//弹出对话框
		return TRUE;//初始化
	}
	//退出:清理工作
	int  ExitInstacne()
	{
		return 0;//返回函数:返回到WinMain函数的返回值
	}
};
//3.定义CWinApp派生类的全局变量
//MFC 应用程序的核心对象,有且只有一个
CFirstApp theApp;//这个名字叫什么随便都可以

效果

导入资源文件


修改资源文件ID

加载资源文件
//初始化函数,虚函数,重写
BOOL CMainDlg::OnInitDialog()
{
	//设置窗口标题
	SetWindowText("我的第一个MFC");
	//加载icon
	//Win32 ,WM_SETICON
	//凡是调用Windows API 前面加两个::
	//方法一  AfxGetInstanceHandle获取全局句柄
	//m_hIcon =::LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(ID_MAIN_ICO));
	//方法二
	m_hIcon = ::LoadIcon(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(ID_MAIN_ICO));
	//方法三
	//m_hIcon = theApp.LoadIcon(ID_MAIN_ICO);
	SetIcon(m_hIcon, TRUE);//设置大图标 按table 可以显示
	SetIcon(m_hIcon, FALSE);//设置小图标
	return TRUE;
}
全部代码
stdafx.h 加载头文件
#include <afxwin.h> //MFC 的核心头文件
#include "resource.h"
FirstMFC.h
class CFirstApp :public CWinApp
{
public:
	BOOL InitInstance();
	//退出:清理工作
	int  ExitInstacne();
}; 
FirstMFC.cpp
#include "stdafx.h"
#include "FirstMFC.h"
#include "CMainDlg.h"
//3.定义CWinApp派生类的全局变量
//MFC 应用程序的核心对象,有且只有一个
CFirstApp theApp;//这个名字叫什么随便都可以
//InitInstance当作我们的入口函数,MFC初始化函数
//启动管理,初始化,虚函数
BOOL CFirstApp::InitInstance()
{
	//CDialog dlg;//专门操作对话框的类
	CMainDlg dlg;
	dlg.DoModal();//弹出对话框
	return TRUE;//初始化
}
int  CFirstApp::ExitInstacne()
{
	return 0;//返回函数:返回到WinMain函数的返回值
}
CMainDlg.h
//对话框类
//一个窗口类,只处理一个窗口
class CMainDlg :public CDialog
{
public:
	CMainDlg();
	//初始化函数,虚函数,重写
	BOOL OnInitDialog();
private:
	HICON m_hIcon;
};
CMainDlg.cpp
#include "stdafx.h"
#include "CMainDlg.h"
CMainDlg::CMainDlg() :CDialog(IDD_MAIN_DLG)
{
}
//初始化函数,虚函数,重写
BOOL CMainDlg::OnInitDialog()
{
	//设置窗口标题
	SetWindowText("我的第一个MFC");
	
	//加载icon
	//Win32 ,WM_SETICON
	//凡是调用Windows API 前面加两个::
	//方法一  AfxGetInstanceHandle获取全局句柄
	//m_hIcon =::LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(ID_MAIN_ICO));
	//方法二
	m_hIcon = ::LoadIcon(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(ID_MAIN_ICO));
	//方法三
	//m_hIcon = theApp.LoadIcon(ID_MAIN_ICO);
	SetIcon(m_hIcon, TRUE);//设置大图标 按table 可以显示
	SetIcon(m_hIcon, FALSE);//设置小图标
	return TRUE;
}

![四、初探[ElasticSearch]集群架构原理与搜索技术](https://img-blog.csdnimg.cn/ec9553a2f5ca4040a704e86c7bf26a22.png)


















