VC++深入详解(1):MFC框架程序剖析

本文介绍了MFC(Microsoft Foundation Classes)的基础知识,指出MFC是微软对Windows API的面向对象封装,简化了应用程序开发。通过一个简单的MFC应用示例,揭示了MFC程序的执行流程,包括类的创建、WinMain函数的替代以及消息循环的处理。文章探讨了MFC如何在不显式调用Win32 SDK函数的情况下,实现了窗口的注册、创建和消息处理,强调了MFC与API之间的关系。
学了一段Win32SDK应用程序以后,因为种种杂七杂八的事情,让windows程序设计的内容停滞了很长一段时间。但是我今天还是鼓足了勇气,继续开始后面的内容。(不过后面的笔记不再是跟着杨力祥老师的上课内容了,因为他对MFC的讲解似乎课程剩下的不是很足,所以我换了孙鑫老师的听)。
咱们直接从第三节课讲起吧。第一节课讲的是用Win32SDK应用程序写“hello world”,我们之前已经做过很多遍了,这里只简要的回顾一下整个程序的脉络:
WinMain函数是整个程序的入口,相当于C语言中的main函数,在WinMain中,我们完成了一下几个重要的事情:设计窗口类,注册窗口类,创建窗口,显示窗口,更新窗口,进入消息循环。在设置窗口类中,指明消息处理函数,并把这个重要的信息在注册窗口时告诉操作系统,而在消息循环,每当我的应用程序收到了消息,都会把这个消息投递到这个应用程序的消息队列中,然后程序依次从中取走消息,并把消息告诉操作系统,操作系统调用消息处理函数来响应这些消息。
首先,个人觉得windows应用程序跟dos下的控制台应用程序最大的区别有两点。第一点是表象的:控制台应用程序是“黑屏的”,而windows应用程序是基于“窗口的”;第二点是内在的,控制台应用程序的核心内容是与操作系统无关的(虽然我们总会频繁的使用printf是得能从屏幕上显示打印结果);而windows应用程序是跟操作系统密切相关的。
第二讲主要是复习C++里面的一些基本知识:类、继承、派生、多态、重载等等。这里就不提了。
下面我们言归正传,开始MFC的学习。MFC是微软基础类库,它是对我们前面使用的windowsAPI函数,使用面向对象的方法进行了封装,它大大的简化了应用程序的开发过程。(顺便吐槽几句,这个封装其实做的并不是非常出色,使用了大量的宏,而C++程序员是非常讨厌宏的,但是总而言之,用起来还不错,尤其是使用AppWizard开发向导以后)。
这节课的主要目的,就是在于向读者展示:尽管MFC对windowsAPI进行了封装,但是它的程序在执行的过程中,总是要遵循API里面设计窗口类,注册窗口类,创建窗口,显示窗口,更新窗口,进入消息循环的步骤。
首先,我们新建一个单文档的MFC应用程序,对于其他内容保持默认设定,然后我们不
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值