文章目录
- 配置设置
- 建立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)


















