文档库 最新最全的文档下载
当前位置:文档库 › MFC类库的基本类

MFC类库的基本类

MFC类库的基本类
MFC类库的基本类

MFC类库是一个层次结构,主要有CObject类、应用程序类、可视对象类、绘图和打印类、通用类、数据库类、Internet和网络类、OLE类。

(1)CObject类

CObject类是MFC的抽象基类,MFC中的大多数类是从CObject类派生出来的。它是MFC 中多数类和用户自定义的根类,该类为程序员提供了希望融入所编写程序的许多公共操作,包括对象的建立和删除、串行化支持、对象诊断输出、运行时信息以及集合类的兼容等。CObject类的声明在Afx.h中。

(2)应用程序结构类

该类主要用于构造框架应用程序的结构,提供了多数应用程序公用的功能.编写程序的任务是填充框架,添加应用程序专有的功能。

1.应用程序和线程支持类

CWinThread类是所有线程的基类,窗口应用程序类CWinApp类就是从该类中派生来的。每个应用程序有且只有一个应用程序对象,在运行程序中该对象和其他对象相互协调,该对象从CWinApp中派生出来。该类封装了初始化、运行、终止应用程序的代码。

2.命令相关类

CCmdTarget类是CObject的子类,它是MFC所有具有消息映射属性的基类。消息映射规定了当一对象接收到消息命令时,应调用哪个函数对该消息进行处理。程序员很少需要从CCmdTarget类中直接派生出新类,往往都是从它的子类中派生出新类。如窗口类(CWnd)、应用程序类(CWinApp)、文档模板类(CDocTemplate)、视类(CView)及框架窗口类(CFrameWnd)等。

3.文档类

文档对象由文档对象模板创建,用于管理应用程序的数据。视图对象表示一个窗口的客户区,用于显示文档数据并允许读者与之交互。有关文档/视结构的类如下:

①CDocTemplate类:文档模板的基类。文档模板用于协调文档、视图和框架窗口的创建。

②CSingleDocTemplate类:单文档界面(SDI)的文档模板。

③CMultiDocTemplate类:多文档界面(MDI)的文档模板。

④CDocument类:应用程序专用文档的基类。

(3)可视对象类

1. CWnd类

该类提供了MFC中所有窗口类的基本功能。它是CCmdTarget类的子类。创建Windows窗口要分两步进行:首先,引入构造函数,构造一个CWnd对象;然后调用Creat建立Windows 窗口并将它连到CWnd对象上。MFC中还从CWnd类派生出了进一步的窗口类型,以完成更具体的窗口创建工作,这些派生类有:

①CFrameWnd类:SDI应用程序主框架窗口的基类。

②CMDIFrameWnd类:MDI应用程序主框架窗口的基类。

③CMDIChildFrameWnd类:应用程序文档框架窗口的基类。

2. CView类

使用CView类(视图类)可以在其他窗口中创建子窗口,它可以提供一个特殊的接受外来输入的结构窗口。也就是说,CView类用于控制用户如何观看文档的数据,以及怎样与这些数据交互。即CView类管理着框架窗口的客户区,为用户与Windows之间提供可视接口。该类接收来自用户的键盘或鼠标的输入,还允许用户对数据进行预览和打印。

CView类广泛应用于基于文档的应用程序中。利用该类的派生类,可图形化地管理文档数据,用户对文档的操作都是通过它来实现的。CView类可用来实现用户自定义视图类的基本功能。在程序运行时,CView类用于视图的实现。一个视图只能分配给一个文档,但一个文档

可以拥有多个视图。

如果文档需要滚动显示,可由CScrollView派生。如果视图具有来自对话框模板资源的用户界面,可由CFormView派生。对于普通文本数据,使用CEditView或由CEditView派生。对于有格式的数据存取应用程序,如数据输入程序,由CRecordView(对ODBC)或CDaoRecordView(对DAO)派生。其他可利用的视图类还有CTreeView、CCtrlView、ColeDBRecordView、CHtmlView、CListView和CRichEditView等。

3. CDialog类

由于对话框是一个特殊的窗口,所以该类是从CWnd类中派生出来的。对话框的子层次结构包括通用对话框类CDialog以及支持文件选择、颜色选择、字体选择、打印、替换文本的公共对话框子类。这些子类包括:

①CFileDialog:提供打开或保存一个文件的标准对话框。

②CColorDialog:提供选择一种颜色的标准对话框。

③CFontDialog:提供一种字体的标准对话框。

④CPrintDialog:提供打印一个文件的标准对话框。

⑤CFindReplaceDialog:提供一次查找并可完成替换操作的标准对话框。

CDialog类可用于建立模式对话框和无模式对话框模型。

4.CMenu类

该类是CObject类的子类,用于菜单管理,它是一个Windows HMenu的封装,提供了与窗口有关的菜单资源建立、修改、跟踪及删除成员函数。

5.控件类

控制层次包括若干类,使用这些可建立静态文本、命令按钮、位图按钮、列表框、组合框、滚动条、编辑框等。这些直观控制为Windows应用程序提供了各种输入和显示界面。

①CStatic类:静态文本类。该类常用于管理标注、分割对话框或窗口中的其他控件。

②CButton类:按钮控件类。该类为对话框或窗口中的按钮、检查框或者单选按钮提

供一个总的接口。

③CEdit类:编辑控件类。该类用于管理用户的文字输入。

④CRichEditCtrl类:富文本编辑控件类。该类除了编辑控制的功能外,还支持字符和

图形格式,以及OLE对象。

⑤CScrollBar类:滚动条控件类。该类提供控制条的功能,用作对话框或窗口中的一

个控制,用户可通过它在某一范围内定位。

⑥CProgressCtrl类:进展指示控件类。该类用于管理操作的进度。

⑦CSliderCtrl类:滑块控件类。该类用于管理滑标移动选择。

⑧CListBox类:列表框控件类。该类用于管理列表框的显示和选择。

⑨CComboBox类:组合框控件类。该类用于管理组合框的操作。

⑩CBitmapButton类:位图按钮类。该类用于管理带有位图而非文字标题的按钮。

○11CSpinButtonCtrl类:上下控件类。该类用于管理上下控件,该控件带有一个双向箭头按钮,单击某个箭头按钮可增大或减小相关值。

○12CAnimateCtrl类:动画显示控件类。该类用于管理动画播放。

○13CToolTipCtrl类:工具提示管理类。工具提示是一个小的弹出式窗口,显示一行文本,描述应用程序中一个工具的作用。

○14CHotKeyCtrl类:热键控件类。该类用于管理热键快速执行某项操作。

6.控制栏类

CControlBar类为工具栏、状态栏、对话框条和分割窗口建立模型。该类是CToolBar、CStatusBar、CDialogBar的基类,负责管理工具条、状态条、对话框的一些成员函数。控制

条指的是连接在主窗口框架顶部或底部的小窗口。

①CStatusBar类:状态条控制窗口的基类。

②CToolBar类:包含非基于HWND的位图式命令按钮的工具条控制窗口。

③CDialogBar类:控制类似于工具栏的非模式对话框。

相关文档