您现在的位置:中国下载站学院中心网络编程Visual C++教程Visual C++入门教程 → 文章列表

MFC 教程

作者:佚名  来源:不详  发布时间:2007-3-27 17:34:17   

减小字体 增大字体

 
 

  我曾写一本关于MFC的书,分析了MFC的结构和设计(《MFC深入浅出》),华中理工大学出版。书的内容建立在对MSDN和MFC SOURCE CODE的大量分析上,该书对于希望学习MFC的人来说,是较有价值的。可惜出版社好象只在几个城市针对学生作销售,虽然学生反应不错,但是外界知道不多。

  教程列表:

MFC教程(1)--MFC概述

  MFC是一个编程框架

  MFC (Microsoft Foundation Class Library)中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows下的应用程序,这是一种相对SDK来说更为简单的方法。因为总体上,MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。Microsoft Visual C++提供了相应的工具来完成这...

http://tech.ddvip.com/2007-03/117415707121625.htmlMFC教程(2)-- MFC和Win32

  MFC Object和Windows Object的关系

  MFC中最重要的封装是对Win32 API的封装,因此,理解Windows Object和MFC Object (C++对象,一个C++类的实例)之间的关系是理解MFC的关键之一。所谓Windows Object(Windows对象)是Win32下用句柄表示的Windows操作系统对象;所谓MFC Object (MFC对象)是C++对象,是一个C++类的实例,这里(本书范围内)MFC Object是有特定含义的,指封装Windows Object的C++ Obje...

http://tech.ddvip.com/2007-03/117415714821626.htmlMFC教程(3)-- CObject类

  CObject是大多数MFC类的根类或基类。CObject类有很多有用的特性:对运行时类信息的支持,对动态创建的支持,对串行化的支持,对象诊断输出,等等。MFC从CObject派生出许多类,具备其中的一个或者多个特性。程序员也可以从CObject类派生出自己的类,利用CObject类的这些特性。

  本章将讨论MFC如何设计CObject类的这些特性。首先,考察CObject类的定义,分析其结构和方法(成员变量和成员函数)对CObjec...

http://tech.ddvip.com/2007-03/117415721521627.htmlMFC教程(4)-- 消息映射的实现(1)

  消息映射的实现

  Windows消息概述

  Windows应用程序的输入由Windows系统以消息的形式发送给应用程序的窗口。这些窗口通过窗口过程来接收和处理消息,然后把控制返还给Windows

  消息的分类

  队列消息和非队列消息

  从消息的发送途径上看,消息分两种:队列消息和非队列消息。队列消息送到系统消息队列,然后到线程消息队列;非队列消息直接送给目的窗口过程。

  ...

http://tech.ddvip.com/2007-03/117415733421628.htmlMFC教程(4)-- 消息映射的实现(2)

  但是在当前例子中,当前对象的类CTview没有覆盖该函数,所以CWnd的WindowProc被调用。

  这个函数把下一步的工作交给OnWndMsg函数来处理。如果OnWndMsg没有处理,则交给DefWindowProc来处理。

  OnWndMsg和DefWindowProc都是CWnd类的虚拟函数。

  OnWndMsg的原型如下:

  BOOL CWnd::OnWndMsg( UINT message,

  WPARAM wParam, LPARAM lParam,RESULT*pResult );

  ...

http://tech.ddvip.com/2007-03/117415736721629.htmlMFC教程(5)-- MFC对象的创建(1)MFC对象的创建

  前面几章介绍了MFC的核心概念和思想,即介绍了MFC对Windows对象的封装方法和特点;MFC对象的动态创建、序列化;MFC消息映射机制。

  现在,考查MFC的应用程序结构体系,即以文档-视为核心的编程模式。学习本章,应该弄清楚以下问题

  MFC中诸多MFC对象的关系:应用程序对象,文档对象,边框窗口对象,文档边框窗口对象,视对象,文档模板对象等。

  MFC对象的创建和...

http://tech.ddvip.com/2007-03/117415776621630.htmlMFC教程(5)-- MFC对象的创建(2)

  从这些图中可以看到何时、何处调用了什么消息处理函数和虚拟函数,这些函数用来作了什么事情。必要的话,程序员可以在派生类覆盖它们。

  在创建工作完成之后,进行初始化,使用文档对象的数据来更新视和显示窗口。

  至此,本节描述了MFC的SDI程序从分析命令行到创建或打开文件的处理过程,文档对象已经动态创建。总结如下:

  命令行分析→应用程序的FileNew→文档模板的OpenDocu...

http://tech.ddvip.com/2007-03/117415781021631.htmlMFC教程(6)-- 应用程序的退出

  一个Windows应用程序启动之后,一般是进入消息循环,等待或者处理用户的输入,直到用户关闭应用程序窗口,退出应用程序为止。

  例如,用户按主窗口的关闭按钮,或者选择执行系统菜单“关闭”,或者从“文件”菜单选择执行“退出”,都会导致主窗口被关闭。

  当用户从“文件”菜单选择执行“退出”时,将发送MFC标准命令消息ID_APP_EXI...

http://tech.ddvip.com/2007-03/117415785621632.htmlMFC教程(7)-- MFC的DLL

  一般的,在介绍Windows编程的书中讲述DLL的有关知识较多,而介绍MFC的书则比较少地提到。即使使用MFC来编写动态链接库,对于初步接触DLL的程序员来说,了解DLL的背景知识是必要的。另外,MFC提供了新的手段来帮助编写DLL程序。所以,本节先简洁的介绍有关概念。

  DLL的背景知识

  静态链接和动态链接

  当前链接的目标代码(.obj)如果引用了一个函数却没有定义它,链接程序可能通过两...

http://tech.ddvip.com/2007-03/117415789521633.htmlMFC教程(8)-- MFC的进程和线程

  Win32的进程和线程概念

  进程是一个可执行的程序,由私有虚拟地址空间、代码、数据和其他操作系统资源(如进程创建的文件、管道、同步对象等)组成。一个应用程序可以有一个或多个进程,一个进程可以有一个或多个线程,其中一个是主线程。

  线程是操作系统分时调度分配CPU时间的基本实体。一个线程可以执行程序的任意部分的代码,即使这部分代码被另一个线程并发地执行;一个进程的所有线程共享它的...

http://tech.ddvip.com/2007-03/117415794021634.htmlMFC教程(9)-- MFC的进程和线程(1)

  MFC定义了多种状态信息,这里要介绍的是模块状态、进程状态、线程状态。这些状态可以组合在一起,例如MFC句柄映射就是模块和线程局部有效的,属于模块-线程状态的一部分。

  模块状态

  这里模块的含义是:一个可执行的程序或者一个使用MFC DLL的DLL,比如一个OLE控件就是一个模块

  一个应用程序的每一个模块都有一个状态,模块状态包括这样一些信息:用来加载资源Windows实例句柄、指...

http://tech.ddvip.com/2007-03/117415799821635.htmlMFC教程(9)-- MFC的进程和线程(2)

  下面以一个动态链接到MFC DLL的单模块应用程序为例,说明这些对象的创建过程。

  当第一次访问状态信息时,比如使用 AfxGetModuleState得到模块状态,导致系列创建过程的开始,如图9-7所示。

  首先分析语句pState=_afxThreadState。如果_afxThreadData、线程状态和模块状态还没有创建,该语句可以导致...

http://tech.ddvip.com/2007-03/11741580232

在百度中搜索更多MFC 教程相关网页 转贴于:中国下载站

  • 上一篇文章:在消息框按钮上显示Yes与No
  • 下一篇文章:MFC教程(14)-- SOCKET类的设计和实现
  • 阅读统计:[]
  • 中国下载站】【设为主页】【收藏本页】【打印本文】【回到顶部】【关闭此页

    相关文章
    文章评论(评论内容只代表网友观点,与本站立场无关!)

    用户名: 查看更多评论

    分 值:100分 85分 70分 55分 40分 25分 10分 0分

    内 容:

             (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码


    设为首页 - 关于我们 - 广告服务 - 网站地图 - 加入收藏 - 网站声明 - 网站帮助 - 友情链接

    • Copyright (C) 2006-2008 www.cndownz.com All Rights Reserved.
      中国下载站 版权所有. 粤ICP备05141802号. 对本站有任何建议、意见或投诉,请来信:cndownzcom@yahoo.com.cn.
      喜欢中国下载站(cndownz.com),请把中国下载站(cndownz.com)告诉你QQ上的5位好友,多谢支持!