Chinaunix首页 | 论坛 | 博客
  • 博客访问: 12838804
  • 博文数量: 1293
  • 博客积分: 13501
  • 博客等级: 上将
  • 技术积分: 17974
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-08 18:11
文章分类

全部博文(1293)

文章存档

2019年(1)

2018年(1)

2016年(118)

2015年(257)

2014年(128)

2013年(222)

2012年(229)

2011年(337)

分类:

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应用程序的框架。如下图:

 

image

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。

这两个类关系密切,文档对象通常代表一个已经打开的文件,负责管理数据,视图对象按特定的方式反应当前文档中数据,是文档中数据的可视化表示。

关于两者的关系在后面文档/视图介绍。

阅读(4473) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~