- 1、本文档共78页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
10.1 使用MFC类库设计网络程序 10.1.1 MFC类库简介 MFC(Microsoft Foundation Classes)是微软公司提供的用于C++程序设计的基础类库,它由两大部分组成:一部分是通常所说的C++类库,是MFC类库的主体部分,这些类构成了MFC应用程序框架;另一部分是MFC预定义宏、全局变量和全局函数,是MFC类库的辅助部分。这两部分都是用MFC进行Windows应用程序开发不可缺少的组成部分。 10.1 使用MFC类库设计网络程序 MFC类库中定义的类主要有以下几种: (1)根类 根类指CObject类,它是大多数MFC类的最终基类,其他类都继承了CObject类的三个主要特征: 在运行时识别对象所属的类。 支持串行化,把对象存入文件中及从文件中读取对象。 在运行时打印诊断信息。 10.1 使用MFC类库设计网络程序 (2)命令发送类 命令发送类CCmdTarget封装了用户通过选择菜单或工具栏按钮向应用程序发送命令的界面。命令发送类CCmdTarget派生自CObject根类,它是应用程序结构类和窗口类的基类。 10.1 使用MFC类库设计网络程序 (3)应用程序结构类 应用程序结构类(Application Architecture Class)提供了应用程序的几乎所有通用功能,它们构成了Windows应用程序的主要框架。我们通过这些类的派生类,添加新成员函数或重载现有成员函数以实现需要的功能,从而构造应用程序框架。应用程序类主要有: 应用程序线程支持类:MFC支持多线程,所有的应用程序至少有一个线程。CWinThread类是所有线程类的基类,封装了操作应用程序的多线程功能。CWinApp是CWinThread类的派生类,它封装了基于MFC的Windows应用程序的初始化、运行及终止等功能。CWinApp的全局对象控制着整个应用程序的流程。 10.1 使用MFC类库设计网络程序 文档类:文档类封装了应用程序的数据管理,文档类对象由文档模板创建。CDocument 类是文档类的基类,用户应用程序文档类可从CDocument类直接派生。CDocument类支持一些标准操作,如新建文档,打开文档和存储文档等。 文档模板类:文档模板类将文档、视图及边框窗口相互联系起来,在创建新文档或视图时协调文档、视图及边框窗口的创建。CDocTemplate类是一个抽象基类,它为文档模板封装了基本功能,用户不能直接使用该类。CMultiDocTemplate为多文档接口(MDI)提供了模板。CSingleDocTemplate为单文档接口(SDI)提供模板。 10.1 使用MFC类库设计网络程序 (4)窗口类 窗口类包括边框窗口类、视图类、对话框类、控件类、控件栏类和属性簿类,这些类的共同之处是都封装了一个窗口句柄HWND,都是从CWnd派生的。 (5)常用工具类 在MFC中还定义了大量的工具类,如用于绘图的类、数组类等。 (6)非派生自CObject的类 在MFC中有些类不是从CObject类派生的,如用于Internet服务程序设计的API(Internet Server API)等。 10.1 使用MFC类库设计网络程序 10.1.2 MFC中与网络程序设计有关的类 在MFC类库中,与网络程序设计有关的类有以下几种: (1)文件服务类(File Services) 在有关文件服务类的定义中有一个CSocketFile类,其实它并不是用来在双方套接口上发送文件的,而是将需要序列化的数据,比如一些结构体数据传给对方。要注意的是CSocketFile类虽然派生自CFile类,但它屏蔽掉了CFile::Open()等函数,也就是说不能调用CSocketFile的Open函数来打开一个实实在在的文件,否则会导致例外。 10.1 使用MFC类库设计网络程序 10.1.2 MFC中与网络程序设计有关的类 (2)Internet服务器API类(Internet Server API) 在Internet服务器API类中,主要定义了一些与HTTP协议有关的类,这些类是CHtmlStream、CHttpFilter、CHttpFilterContext、CHttpServer和CHttpServerContext。 10.1 使用MFC类库设计网络程序 10.1.2 MFC中与网络程序设计有关的类 (3)Internet服务类(Internet Serveices) Internet服务类中有与Internet会话有关的CInternetSession类,与Internet连接有关的CInternetConnection类,CInternetConnection有3个派生类,它们是CFtpConnection、CGopherC
文档评论(0)