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