关注公号【逆向通信猿】更精彩!!!

一、MFC的组成

a)必须有一个CWinApp的派生类;
b)必须用派生类在全局定义一个对象theApp;
c)在派生类中必须重写InitInstance虚函数;
d)MFC程序就用CWinApp派生类中的InitInstance虚函数作为主函数;

二、MFC对话框程序的消息处理(消息映射机制)

a)为一个对话框模板建立一个与之关联的CDialog或CDialogEx派生类;
b)在需要启动对话框用派生类定义一个对象,在用对象调用DoModal成员函数;
c)MFC如果要处理一个消息,只要打开类向导,选择在下拉中这个对话框类;
d)在消息列表中就可以选择你需要的消息,双击即可建立消息映射函数;
e)消息映射函数就是:一个消息(和一个窗口)对应一个函数的地址

三、Win32项目与MFC项目关系

①新建一个空项目

②添加头文件App.h

#pragma once
#include <afxwin.h>
class CApp :public CWinApp
{BOOL InitInstance();public:CApp();~CApp();
};

③添加对应的源文件App.cpp

#include "App.h"
CApp theApp;BOOL CApp::InitInstance()
{//作为启动函数MessageBoxA(NULL, "我的模拟MFC程序开发", "温馨提示:", MB_OK);return 0;
}CApp::CApp()
{}CApp::~CApp()
{}

④设置项目
在静态库中使用MFC

多线程调试(/MTd)

编译,运行
⑤新建对话框资源,并关联类


⑥添加头文件和代码
App.h中添加头文件afxdialogex.h、resource.h、MainDlg.h
MainDlg.h中添加头文件resource.h

BOOL CApp::InitInstance()
{//作为启动函数CMainDlg dlg;dlg.DoModal();return 0;
}

编译、运行,由此项目转换为MFC对话框应用程序。

【MFC系列2】Win32项目转换为MFC项目相关推荐

  1. Eclipse java项目转换为web项目

    1.打开.project文件,并修改文件, 修改如下: 找到:<natures> </natures>代码段,在代码段中加入如下内容并保存: <nature>org ...

  2. eclipse中 将java项目转换为web项目

    1.找到项目工作空间目录,打开.project文件,并修改文件,  修改如下:       找到:<natures> </natures>代码段,在代码段中加入如下内容并保存: ...

  3. 将常规项目转换为Maven项目

    本节讲述了在 IntelliJ IDEA 中如何将常规项目转换为 Maven 项目. 您可以打开一个现有的非 Maven 项目,并通过 IntelliJ IDEA UI 添加 Maven 支持. 打开 ...

  4. miniprogram-to-uniapp使用指南(各种小程序项目转换为uni-app项目)

    miniprogram-to-uniapp使用指南(各种小程序项目转换为uni-app项目) 工具现在支持npm全局库.HBuilderX插件两种方式使用,任君选择,HBuilderX插件地址:htt ...

  5. java程序能转变为javafx_如何将intellij中的普通Java项目转换为JavaFx项目

    小编典典 没有什么可以转换的. 我认为"正常" Java项目和JavaFX项目之间在Idea中没有任何区别. 当然,在Idea 12.x +中,可以使用向导创建新的JavaFX项目 ...

  6. Git-将已有的项目转换为GIT项目托管到 GITHUB 仓库

    文章目录 概述 步骤 1.GIT软件安装 2.初始化本地maven项目为 Git 项目 3.将所有文件放进新的本地 git 仓库 4. 将添加的文件提交到仓库 5. GitHub上创建项目 ,copy ...

  7. 【MFC系列-第9天】MFC消息映射机制的原理

    关注公号[逆向通信猿]更精彩!!! 第9天 MFC消息映射机制的原理 9.1 对话框常用的回调函数 a)窗口创建时的消息和虚函数包括:WM_CREATE,WM_INITDIALOG,和PreSubcl ...

  8. 从SVN上检出项目转换为maven项目失败

    昨天遇到了一个问题,就是从SVN上下载了公司的一个子项目,结果发现无法转换为maven的目录格式: 报错信息为pom.xml的<parent>标签报错: 然后仔细研究了一下maven发现, ...

  9. eclipse中java项目转换为web项目

    2019独角兽企业重金招聘Python工程师标准>>> 经常在eclipse中导入web项目时,出现转不了项目类型的问题,导入后就是一个java项目,有过很多次经历,今天也有同事遇到 ...

最新文章

  1. python中json的使用
  2. 框架之---Django
  3. SAP CRM note的自动拷贝
  4. Spring 创建对象的方式
  5. Symfony 4.2.4 和 3.4.23 发布,经典 PHP Web 开发框架
  6. SQLmap常用命令/使用教程
  7. ASP.NET画图全攻略(下)
  8. jsp人事管理系统_人事管理系统(论文+源码)(SSH+MYSQL+JSP+HTML5)
  9. WEBPACK+ES6+REACT入门(1/7)-创建webpack4.x项目
  10. 黑马程序员Java零基础视频教程(2022最新Java)B站视频学习笔记-Day2-Java基础概念
  11. 苹果服务器消息转发,好消息!微信语音也可以转发啦!不好的消息!目前苹果还不行!...
  12. ubuntu系统配置i3wm窗口管理器
  13. 如何下载ScienceDirect(Elsevier)文献的补充材料
  14. 基于JSP微信小程序汽车票订票售票系统设计与实现
  15. Web在线聊天室(6) --- login登录接口
  16. 什么是工业AGV导航读码器?用在什么地方?
  17. 扫描局域网内的其他计算机
  18. 钢铁是怎样炼成的 第三章
  19. 软件升级包封装方法以及软件升级方法
  20. 医学图像分割方法及卷积神经网络在医学图像分割上的应用

热门文章

  1. Java EE CDI ConversationScoped示例
  2. 用Java排序的五种有用方法
  3. 高级SmartGWT教程,第1部分
  4. linux 端口方法防火墙,Linux 打开端口方法(防火墙操作)
  5. 开源相册系统Java_基于JAVA的B/S网络相册管理系统
  6. 命令(CMD)终端的清屏(清除/清空)命令/快捷键
  7. 计算机永远无法处理日语所具有的暧昧性,计算机永远无法处理日语所具有的暧昧性。( )...
  8. ajax.call失效无请求,移动端ajax请求问题?
  9. python网管系统_IT外包网管服务,Python密度聚类算法-DBSCAN实践
  10. a - 数据结构实验之串一:kmp简单应用_【在线教学示范课案例】数据结构(刘航)...