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

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

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

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

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

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

第五讲MFC编程基础知识本章内容主要包括利用面向对象的观点理解MFC,利用继承思想讲解MFC中的具有层次关系的类、应用程序架构与软件复用,建立最简单的具有图形用户界面的MFC应用程序。 要求了解工作区的ClassView视图中的各个菜单的含义、一些可视对象中的可视成分在图形界面中的表现,能够利用MSDN查看各个类之间的继承图,掌握MFC中类的抽象性、封装性和继承性,熟练掌握建立最简单的具有图形用户界面的MFC应用程序的方法。概述 本章把MFC类库中的主要类以层次结构做了一个简单的介绍,并对MFC应用程序的架构做了描述。对于MFC应用程序的学习,刚开始要“不求甚解”,懂得代码的放置以及原理就可以了,随着学习的深入,在查看MFC源代码后,就能逐渐了解到该类型应用程序的执行流程,从而最终掌握MFC应用程序的开发。5.1 MFC概述5.1.1什么是MFC5.1.2MFC的设计原理5.1.3MFC的目标*5.1.4MFC的发展AFX和MFC的另一个区别是所使用的开发方法不同,AFX采用是自顶向下的设计方法,逐步将对象抽象出来并施加到Windows上;而MFC库采用的则是自底向上的设计方法,也就是说,从MFC的第一个版本开始,它的类就是建立在已有的WindowsAPI对象基础上的,这样就避免了AFX中代码的超支与浪费。*5.1.5使用C++和MFC的好处5.2 MFC的层次结构及其子类功能简介5.2.1MFC中类的层次结构5.2.2根类CObject5.2.3应用程序体系结构类(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()处理之前过滤它们。 (5)CWinApp的保护成员函数 SetDialogBkColor:为对话框和消息框设置缺省的背景颜色。 Enable3dConrtols:允许具有三维外观的控件。 4.文档/视图类 文档对象由文档模板对象创建,管理应用程序的数据。视图对象表示一个窗口的客户区,它显示文档数据并允许用户与之交互。 CDocTemplate类:文档模板的基类。它负责协调文档、视窗和框架窗口的创建。 CMultiDocTemplate类:多文档界面(MDI)的文档模板。 CSingleDocTemplate类:单文档界面(SDI)的文档模板。 CDocument:应用程序所用文档的基类。 CView:显示文档数据的应用程序专用视图的基类。5.2.4可视对象类GetStyle:返回当前窗口的风格。 SubclassWindow:将一个窗口连接给一个CWnd对象并使其通过该CWnd的消息映射传递消息。 FromHandle:给出一个窗口句柄时,返回一个CWnd对象的指针。 GetSafeHand:返回m_hWnd;若此指针为NULL,则返回NULL。 (3)CWnd类的窗口状态函数 EnableWindow:允许或禁止鼠标和键盘输入。 GetActiveWindow:获取活动的窗口。 SetActiveWindow:激活窗口。 SetFocus:要求输入焦点。 GetFocus:获取当前具有输入焦点的CWnd。(5)访问窗口函数 FindWindow:返回由窗口类和窗口名标识的窗口句柄。 GetTopWindow:返回属于CWnd的第一个子窗口。 GetParent:获取CWnd的父窗口。 GetDlgItem:由指定的对话框获取具有指定ID的控件。 GetDescendantWindow:查询所有的派生窗口,并返回具有指定ID的窗口。 CenterWindow:将一窗口相对于其父窗口中心定位。(6)更新/绘制函数 GetDC:获取一个客户区的设备描