预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共54页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

1、MFC概述 2、MFC层次结构及其子类功能 3、MFC应用程序架构 4、基于框架的MFC应用程序分析 MFC:MicrosoftFoundationClass 首先:它是一个类库、功能是控制整个计算 机系统。 其次:它是一个面向对象的应用程序框架, 程序员可以使用这一框架创建 Windows应用程序。 同时:MFC的组织是以C++类层次形式组织 起来的,几个高层类提供一般功能, 而低层类实现更具体的功能,每一个低 层类都是从高层类派生而来,因此继承 了高层类的功能。所以:MFC是一种类的层次结构,它提供了一个应用程序开发框架,此框架称为文档/视图架构。 它对应的是Windows系统目录下的一系列mfc*.dll文件。MFC就是利用面向对象的思想,将数据类型与Windows大部分API函数封装起来的一个浩瀚的类库,利用MFC编写程序本质上就是选择该类库中合适的类,并调用其下相应成员函数来完成某个功能。Win32数据类型1、Windows消息函数 2、文件处理函数 3、网络函数 4、菜单函数 5、文本与字体函数 6、硬件与系统函数 7、控件和消息函数 8、位图、图标和光栅运算函数 9、绘图函数 10、打印函数 11、设备场景函数 12、进程和线程函数程序员如何去学习MFC站在OS角度上看程序1、API是WIN32编程的重要基础 2、关于应用程序对象 3、关于框架窗口对象 4、关于视图对象 5、关于文档对象 (数据与显示分离) 6、关于其它对象的API *重点是类和对象的概念关系*7.2MFC层次结构MFC是一个包含了超过200个不同类的很庞大的类库。利用他们,开发者可以完成许多标准的Windows编程任务,并且可以在应用程序中加入许多复杂的特性。在设计思想上,MFC将面向对象的方法与事件驱动结合得很好,因此要理解庞大的MFC类库中的常用类的功能,要利用面向对象的思想进行理解和分析。1、MFC对于类、类的继承、封装、多态性、类间关系和相互作用等应用程序特性都有具体体现,可以使开发者高效、轻松地建立Windows应用程序,而不受设备限制并且由事件进行驱动。2、MFC具有良好的通用性和可移植性,它定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员所要做的工作就是通过VC所提供的各种工具来完成这个工作。1、根类CObject根类CObject的组成2、消息映射类CCmdTarget(1)访问CWinApp对象以及全局函数。 AfxGetApp:获得一指向CWinApp对象的指针 AfxGetResourceHabdle:获得一应用程序资源的句柄。 AfxGetAppName:获得指向一个包含应用程序名的字符串的指针。 (2)CWinApp的公共数据成员 m_pszAppName:指定应用程序的名称。 m_nCmdShow:指定窗口的显示方式。 m_pMainWnd:包含一个指针,它指向一个应用程序的主窗口。(3)CWinApp的公共成员函数 LoadCursor:调取光标资源。 LoadStandardCursor:调取Windows预定义光标,在windows.h中指定IDC常量。 LoadIcon:调取一个图标资源。 LoadStandardIcon:调取Windows预定义的图标,在windows.h中指定IDI常量。 OpenDocumentFile:框架调用此函数打开一个指定的文档。 (4)CWinApp的可超载的函数 InitApplication:重载以执行任何应用程序层次上的初始化。 InitInstance:重载以执行Windows对象实例的初始化,诸如建立用户窗口对象等。 Run:运行缺省的消息循环,重载该函数以自定义消息循环。 OnIdle:重载以执行任何应用程序指定的空闲时间处理。 PreTranslateMessage:在窗口消息被TranslateMessage()和DispatchMessage()处理之前过滤它们。 该类为线程的基类,CWinApp是从CWinThread派生而来。该对象描述程序线程的执行,主线程的执行通常由一个CWinApp的派生对象提供。 (1)CWinThread的公共数据成员 m_hThread:当前线程的句柄。 m_nThreadID:当前线程的ID值。 m_pMainWnd:指向程序主窗口指针。 (2)CWinThread的公共成员函数 GetMainWnd:获取一个指向此线程的的主窗口指针。 GetThreadPriority:获取当前线程的优先权。 ResumeThread:减小一个线程的挂起计数。 文档对象由文档模板对象创建,管理应用程序的数据。视图对象表示一个窗口的客户区,它显示文档数据并允许用户与之交互。 CDocTemplate类:文档模板的基类。它负责