全部博文(1293)
分类:
2012-12-19 22:08:50
一、Window编程的方法主要有:
传统编写法(利用API函数)和交互式方法(利用MFC类库)两种。
(1)、利用Windows API函数编写Windows应用程序需要手工编写很多的代码,程序员需要对Windows的编程原理有很深刻的认识。
(2)、使用MFC创建一个单文档应用程序,不需要编写任何代码,运行程序,就可以得到一个具有工具栏、菜单栏、状态栏的标准Windows应用程序。
(3)、什么是MFC
MFC是由微软编写的一套专门用于Windows编程的C++基础类库,它封装了Windows API 的绝大多数功能,这个类库中包含了一百多个程序开发过程中最常用的对象,为用户建立了非常灵活的应用程序框架。
在程序设计的时候,如果类库中的某个对象能完成所需要的功能,这时我们只要简单地调用已有的对象的方法就可以了,不用与底层的API函数打交道。
正是由于MFC编程方法充分利用了面向对象的优点,使得我们编程的时轻松很多,不需要关心对象方法的实现细节,使人们编写的代码大小减少,程序也更便于调试。
(4)、MFC编程包含三种类型的应用程序:
单文档界面(SDI)应用程序、多文档应用程序(MDI)和基于对话框(Dialog Based)的应用程序。
二、MFC类简介
构成MFC应用程序基本包括4个基本类CMYAPP、CMAINFRAME、CMYDOC、CMYVIEW。
MFC类库中的各个类支持快速生成面向对象的应用程序,它们之间存在一定的关联,它们的集合构成MFC应用程序的框架。如下图:
CObject类是MFC中多数和用户自定义子类的根类。
命令相关类(CCmdTarget)是MFC库中所有具有消息映射属性的基类。从它派生的类能在程序运行时动态创建对象,并处理命令消息。
MFC支持多线程,所有的应用程序至少有一个线程,线程基类(CWinThread)是所有线程类的基类。封装了应用程序操作的多线程功能,CWindApp就派生于它。
窗口类(CWind)为MFC中所有窗口类的基类,提供了所有窗口操作的基本功能。
(1) 类CMYAPP
类CMYAPP派生于CWINAPP类,是应用程序运行的基础。应用程序启动时,就会调用该类的InitInstance()函数负责应用程序的初始化工作,创建文档模板、文档、视频和主窗口。
(2) 类CMAINFRAME
类CMAINFRMAE派生于CFRAMEWND,代表应用程序的主框架。
一个Windows应用程序,除了白色部分的视图外,程序主窗口的其他部分都归CMainFrame管理。
在MFC程序中,我们并不需要经常对CMAINFRAME类进行操作。
(3) 类CMYDOC 、类CMYVIEW
类CMYDOC派生于CDocument类,类CMYVIEW派生于类CWnd。
这两个类关系密切,文档对象通常代表一个已经打开的文件,负责管理数据,视图对象按特定的方式反应当前文档中数据,是文档中数据的可视化表示。
关于两者的关系在后面文档/视图介绍。