【MFC】MFC应用程序流程(11)

news2024/12/24 3:02:31

在WIN32应用程序中使用MFC于MFC框架创建的应用程序流程基本上一致的,不同之处是对MFC框架的使用。

MFC应用程序流程

应用程序类继承CWinAppEx(类似CWinApp),编译时注入的WinMain函数利用多态机制实现应用程序初始化:

 

与WIN32中使用MFC基本相同,不同的地方主要需要了解的是关于文档模板的处理:

 Win32中使用MFC流程是创建一个框架类对象,并且把指针赋与应用程序类的 m_pMainWnd,然后显示和更新窗口。

单文档应用程序则使用文档模板的方式,一次性创建出三口组(文档、框架、视图)

利用资源ID、文档类、框架类、视图类,进行动态创建。动态创建是MFC关键技术之一,类似于JAVA的反向注入机制,在运行中通过动态指定的类名创建对象。

利用创建新文档的命令机制来实现三口组的创建

 跟踪到appui2.cpp

 可以看到出现了一个创建新文件的命令消息,转入应用程序类消息响应:

 调用文档模板管理类的OnFileNew()

调用单文档模板类的 OpenDocumentFile 创建文档、创建框架

 然后到了熟悉的LoadFrame(与 CreateWindow类似)

 从而创建视图。

至此,三口组完成了创建和绑定(由模板类实现)。

PS:以上流程可以利用VS的调试功能来进行跟踪。

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/183630.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LaoCat带你认识容器与镜像(番外一【Harbor】)

祝大家开工大吉呀,新的一年要有新的收获呀 ~ 本章内容 搭建Docker镜像私仓Harbor,并配置Docker私仓。 本文实操全部基于Ubuntu 20.04 宿主机 > linux服务器本身 Harbor > 2.5.3 Docker系列文章之仓库篇就介绍了Docker有俩种类型的镜像仓库&#x…

AppShark:一款针对Android应用程序的静态分析与漏洞扫描框架

关于AppShark AppShark是一款针对Android应用程序的安全测试框架,该工具本质上是一个静态污点分析平台,可以用于扫描Android应用程序中的漏洞。 AppShark除了实现行业普遍应用的数据流分析,还将指针分析与数据流分析融合,因而漏…

【项目精选】基于SpringBoot+Vue实现的仿掘金论坛系统(包含完整源码以及部署教程)

项目简介 本论坛基于SpringBootVue框架实现前后端分离,自适应手机端和电脑端,界面简洁美观,功能完善,性能高效。分为用户系统和管理系统两部分。 大厂微服务架构设计;代码简洁、高效无冗余;注释详细易阅读…

LabVIEW 在NI Linux实时设备上访问Shell

LabVIEW 在NI Linux实时设备上访问Shell有一台运行NI Linux实时操作系统的设备,想访问设备上的shell或终端。要使用以下任一方法与设备通信,必须在计算机上安装终端客户端。使用SSH连接:1. 打开电源并将设备连接到网络或直接连接到计算机。2.…

已解决:Linux安装Docker完整过程

① 目的 接口自动化接口需要持续集成,最终选择Jenkins来实现。通过docker来实现安装部署Jenkins ② 环境 Linux ③Docker的自动化安装 Docker官方和国内daocloud都提供了一键安装的脚本,使得Docker的安装更加便捷。 官方的一键安装方式: curl…

C#,索尼偏光相机(Polarization Camera)传感器IMX250和专用SDK简介

以下文字用百度翻译,效果一般,凑合看吧。2018年12月开始上市的索尼偏光相机和偏光相机专用SDK实现了高功能、高画质、高速处理。其要点在于,开发为不在需要专业知识的偏振信号处理的安装中花费工时,能够以最小限度的成本利用的SDK…

逆战成钢!大势智慧2023新春年会暨表彰大典圆满举行

2023年1月14日,大势智慧2023新春年会暨表彰大典如期举行。暂别了疫情的阻隔,大势智慧武汉总部与各分公司成员时隔两年再次迎来“面对面拥抱”。三百多名大势成员群贺新春,共同度过了一次难忘的年会盛典。 逆战成钢 用奋战实现业绩、规模高增…

Flutter 2023 Roadmap 解析

随着 Flutter Forward 大会召开, Flutter 官方在 3.7 版本 之余为我们展示了如 3D 渲染支持、add-to-web 等未来可能出现的 Feature,但是这些都还只是处于开发中,未来可能还会有其他变动,而在大会结束后,官方也公布了更…

【GD32F427开发板试用】基于蓝牙模块的远程点灯演示

本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站。作者:寒冰1988 一. 前言 感谢极术社区联合兆易创新组织的本次活动,很荣幸能够中签本次的试用机会,结合手里的外围模块&…

代码随想录算法训练营第31天 回溯算法 93.复原IP地址 78.子集 90.子集II

文章目录LeetCode 93.复原IP地址题目讲解思路LeetCode 78.子集题目讲解思路LeetCode 90.子集II题目讲解难点总结LeetCode 93.复原IP地址 题目讲解 思路 递归参数 startIndex一定是需要的,因为不能重复分割,记录下一层递归分割的起始位置。 本题我们还…

ubuntu1804搭建svo2.0环境并跑euroc数据集

0说明 整个SVO2.0环境搭建过程按照官网的说明进行(链接:https://github.com/uzh-rpg/rpg_svo_pro_open) 开发环境是ubuntu18.04ROS-Melodic 1工具安装 Install catkin tools and vcstools if you haven’t done so before. Depending on your operating system …

使用这个插件,fiddler抓包直接生成httprunner脚本

har2case可以将.har文件转化成yaml格式或者json格式的httprunner的脚本文件,生成.har格式文件可以借助 fiddler 或 Charles 抓包工具 友情提示: 录制脚本,只是一个过渡,从0到1的一个过渡,如果让你直接写脚本&#xff…

微信app hook修改剪刀石头布以及骰子思路

0x01 前言 该方法很简单,本次记录是为了加深对安卓hook技术的学习,以及进一步熟悉frida和objection的使用,如果只是想需要这个功能,推荐手机root后装微x模块 技术仅供分享,请勿用于非法用途 0x02 环境准备 首先需要准…

linux下更新tomcat版本

进入tomcat目录下查看当前版本号./version.sh2.切忌升级之前一定要备份老版本mkdir tomcat-backup3.拷贝老版本到你创建的文件夹中cp -rf apache-tomcat-9.0.45-stunew/ tomcat-backup/4.下载tomcat安装包,随便你下载什么版本,我这里以68为例官网&#x…

ssm二手废旧塑料回收交易系统的设计与实现

内容是设计并且实现一个废旧塑料交易系统的设计与实现。它是在Windows下,以MYSQL为数据库开发平台,Tomcat网络信息服务作为应用服务器。废旧塑料交易系统的设计与实现的功能已基本实现,主要包括用户、回收站、加工厂、预约信息、收购信息、交…

ARP协议与ARP地址欺骗防护

ARP协议 什么是MAC地址 MAC地址是固化在网卡上的网络标识,由Ieee802标准规定。 什么是广播 向同一个网段内的设备,发送数据包,广播IP地址是同网段最后一个IP地址。 认识ARP协议 ARP的全称是地址解析协议,我们通过ARP协议获取…

Webpack 运行时代码分析 - 动态加载

文章内容:用 webpack 打包含有动态加载的模块,分析打包后的代码,也就是 webpack 运行时代码。 先思考如下一些问题: 1.什么叫做动态加载 2.如果不使用 webpack 打包,能做到动态加载吗 3.webpack 是如何实现动态加载的…

安装mysql的保姆级教程

安装mysql的保姆级教程: 1.准备的条件 已下载mysql应用软件 my.ini文件(见2) 2.设置my.ini文件 (1)my.ini文件内容: [mysqld] # 设置3306端口 port3306 # 设置mysql的安装目录 ----------是你的文件路径…

TCP/IP网络编程——基于 UDP 的服务端/客户端

完整版文章请参考: TCP/IP网络编程完整版文章 文章目录第 6 章 基于 UDP 的服务端/客户端6.1 理解 UDP6.1.1 UDP 套接字的特点6.1.2 UDP 的工作原理6.1.3 UDP 的高效使用6.2 实现基于 UDP 的服务端/客户端6.2.1 UDP 中的服务端和客户端没有连接6.2.2 UDP 服务器和客…

业务流程软件的优点和对企业的好处

我们都知道,CRM客户管理软件可以为企业识别意向客户,带来更多业绩。那么在处理业务的过程中,一套自带业务流程管理的CRM软件是否重要?下面我们来说说企业使用业务流程管理软件的好处,您就清楚问题的答案了。 1、减少错…