5 从Win32过度到MFC

news/2024/12/28 0:37:28/

文章目录

  • 配置设置
  • 建立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;
}

在这里插入图片描述


http://www.ppmy.cn/news/224124.html

相关文章

【华为OJ】【048-参数解析】

【华为OJ】【算法总篇章】 【华为OJ】【048-参数解析】 【工程下载】 题目描述 在命令行输入如下命令&#xff1a; xcopy /s c:\ d:\&#xff0c; 各个参数如下&#xff1a; 参数1&#xff1a;命令字xcopy 参数2&#xff1a;字符串/s 参数3&#xff1a;字符串c:\ 参数4: 字符…

华为5ipro详细参数使用功能_华为nova5i pro参数配置介绍 华为nova5i pro使用评测

华为nova5i Pro已经发布了,参数配置以及详细价格都已经出来了。相对于之前的华为nova5i来说,这部手机有了很大的升级。下面就和小编一起来看看吧! 华为nova5i Pro介绍 一、参数 二、外观:后置四摄真吸睛 华为nova 5i Pro正面搭载的是一块6.26英寸,分辨率为 2340*1080 的LCD…

华为-参数解析

题目描述 在命令行输入如下命令&#xff1a; xcopy /s c:\ d:\&#xff0c; 各个参数如下&#xff1a; 参数1&#xff1a;命令字xcopy 参数2&#xff1a;字符串/s 参数3&#xff1a;字符串c:\ 参数4: 字符串d:\ 请编写一个参数解析程序&#xff0c;实现将命令行各个参…

华为nova9se和华为nova8的区别 华为nova8和华为nova9se参数对比哪个好

华为Nova9se这款手机虽然是搭载了骁龙690&#xff0c;但是其屏幕性能还是较为不错的 华为手机新品活动388红包等你抢 http://shouji.adiannao.cn/7 可是支持着120Hz的刷新率哦&#xff0c;而上一代的华为Nova8则是只有着90Hz刷新率&#xff0c;远远不及Nova9se哦&#xff01; …

ENVI:如何进行遥感图像的分类?(支持向量机模型)

目录 01 阅读前要 02 支持向量机分类 2.1 加载需要进行分类的影像 2.2 影像的假彩色合成 2.3 创建ROIs 2.3.1 为什么要创建ROI&#xff1f;&#xff08;涉及机器学习的相关知识&#xff09; 2.3.2 创建训练样本 2.3.3 保存训练样本的ROI 2.3.4 创建验证样本 保存验证…

华为机试HJ74:参数解析

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 题目描述&#xff1a; 在命令行输入如下命令&#xff1a; xcopy /s c:\ d:\&#xff0c; 各个参数如下&#xff1a; 参数1&a…

荣耀9i升级android10,荣耀9i

2020年&#xff0c;友盟原移动分析U-App错误分析模块正式升级为U-APM应用性能监控平台。提供端到端的性能采集、监控和分析能力&#xff0c;帮助互联网企业开发者深入了解应用性能和稳定性&#xff0c;高效定位问题和提升应用体验。经过近一年的观察&#xff0c;带来这份友盟《…

设备指纹系列--基础篇

基础概念 618还没开始&#xff0c;但是又好像已经结束了…在这种电商大促的大节日前&#xff0c;电商行业客户一般会提前找到合适的设备指纹产品&#xff0c;去防止被“薅秃”。因为&#xff0c;黑灰产拥有专业的设备牧场&#xff0c;通过使用模拟器、刷机改机等手段&#xff…