MFC----封装类与窗口

所需头文件:#include

1、根类:CObject类

2、应用程序体系结构类

(1)命令相关类:CCmdTarget

        MFC所有具有消息映射属性的类的基类,消息映射规定了当一对对象接受消息命令时,应该调用哪个函数对消息进行处理。

(2)窗口应用程序类:CWinApp类

       每个应用程序只有一个应用程序类,用于与其他对象相互协调,该类封装了初始化、运行、终止应用程序的代码。

(3)文档类、视图类及文档模版类

       文档对象由文档模版对象创建,管理应用程序的数据。视图对象表示一个窗口的客户区,显示文档数据并允许用户与之交互。这些模板及基类有CDocTemplate类(协调文档、视图与框架窗口的创建),CDocument类(应用程序专用文档基类),CView类(显示文档数据的应用程序专有的视图的基类)

 (4)线程基类:CWinThread类

        所有线程的基类,直接使用就行。

3、可视对象类

(1)窗口类:CWnd类(MFC所有窗口的基本功能)

   派生类

   A、CFrameWnd类:框架窗口类(单文档)

   B、CMDIFrameWnd类:多文档框架窗口类

   C、CMDIChildWnd类:多文档那个框架窗口类

  (2)视图类:CView类(框架窗口的客户区和显示文档数据并接受输入的客户区)

    派生类

    A、CScrollView类:具有滚动功能的视图的基类

    B、CFormView类:其布局在对话框资源中定义的滚动视图

    C、CEditView类:具有文本编辑、查找、替换和滚动功能的视图

   (3)对话框类

     A、CFileDialog类:提供打开或保存一个文件的标准对话框

     B、CColorDialog类:提供选择一种颜色的标准对话框

     C、CFontDialog类:提供选择一种字体的标准对话框

     D、CPrintDialog类:提供打印一个文件的标准对话框

     E、CFindReplaceDialog类:提供一个查找并替换操作的标准对话框

     F、CDialog类:可建立模态或非模态对话框

    (4)菜单类:CMenu类

    (5)控件类

     A、CStatic类:静态文本控件类

     B、CButton类:按钮控件窗口类

     C、CEdit类:编辑控件窗口类

     D、CRichEdit类:多信息编辑控件

     E、CScrollBar类:滚动条控件窗口

     F、CProgressCtrl类:进度条控件窗口

     G、CSliderCtrl类:滑块控件窗口

     H、CListBox类:列表框控件窗口

      I、CComboBox类:组合框控件窗口(列表框+组合框)

     J、CBitmapButton类:带有位图而非文字的按钮

     K、CSpinButtonCtrl类:带有一个双向箭头的按钮

     L、CAnimateCtrl类:动画控件窗口

     M、CToolTipCtrl类:一个小的弹出式窗口

     N、CHotKeyCtrl类:热键控件窗口

  (6)控件条类:CControlBar类

     A、CStatusBar类:状态条控件窗口的基类

     B、CToolBar类:工具条控件窗口

     C、CDialogBar类:控件条形式的非模态对话框

    (7)绘图对象类:CGdiObject类

     A、CBitmap:封装一个GDI位图,提供一个草作位图的接口

     B、CBrush类:封装一个GDI画刷,可被选择为设备描述表的当前画刷

     C、CFont类:封装一种GDI字体,可被选择为设备描述表的当前字体

     D、CPalette:封装一个GDI调色板,用作应用程序和彩色输出设备如显示器之间的接口

     E、CPen类:封装一种GDI画笔,可被选择为设备描述表的当前画笔

     F、CRgn类:封装GDI域,用于操作窗口内的椭圆或多边形域

  (8)设备描述表类:CDC类

    A、CPaintDC类:显示描述表

    B、CClientDC类:窗口客户区的显示描述类

    C、CWindowDC类:整个窗口的显示描述表(客户区+框架区)

    D、CMetaFileDC类:Windows元文件的设备描述表

   4、通用类

  (1)文件类:CFile类和CAchive类(编写用户自己的输入/输出处理函数)

  【1】CFile类:提供访问二进制磁盘文件的总接口

  【2】CMenFile类:提供访问驻内存文件的总接口

  【3】CStdioFile类:提供访问缓存磁盘文件的总接口

  【4】CAchive类:与CFile对象一起通过串行化实现对象的永久存储

  (2)异常类:CException类(所有异常情况的基类)

  【1】CAchiveException类:归档异常

  【2】CFileException类:有关文件的异常

  【3】CMemoryException类:内存异常

  【4】CNotSupportedException类:使用不支持特征产生的异常

  【5】CResourceException类:装载Windows资源失败产生的异常

   (3)模板收集类

  【1】、CArray类:将元素储存在数组中

  【2】、CMap类:将键映射到值

  【3】、CList类:将元素存储在一链表中

  【4】、CTypedPtrList类:将对象指针存储在一链表中的类型

  【5】、CTypedPtrArray类:将对象指针存储在一数组中的类型

  【6】、CTypedPtrMap类:将键映射到值的类型,键和值都为指针

  5、OLE类(对象连接与嵌入):普通类、客户类、服务器类

   普通类:COleDocument、COleItem、COleException

   客户类:COleClientDoc、COleClientItem

   服务器类:COleServer,COleTemplate、COleServerDoc、COleServerItem

  6、ODBC数据库类

   (1)CDataBase类:封装对一数据源的连接,通过此链接应用程序可在该数据源上进行操作

   (2)CRecordset类:封装从一数据源选出的一组记录

   (3)CRecordView类:提供直接连接一记录集对象的格式视图

   (4)CFileExchange类:提供上下文信息

   (5)CLongBinary:封装一存储句柄,用于存储二进制对象

   (6)CDBException:对数据存取处理过程中失败产生的异常

     附注:1、消息结构

    typedef struct tagMSG

    {

         HWND hwnd;

         UINT    message

         WPARAM   mParam;

         LPARAM     lParam;

         DWORD     time;

         POIT      pt; 

    }MSG,*PMSG;

   2、消息循环

    while(GetMessage(&msg,NULL,0,0))

    {

         TranslateMessage(&msg);

          DispatchMessage(&msg);

    }

     3、Windows窗口结构

     typedef struct{

                    UINT                                 style;

                    WNDPROC                     lpfnWndProc;

                    int                                      cbClsExtra;

                    int                                      cbWndExtra;

                   HINSTANCE                     hIstance;

                   HICON                               hIcon;

                   HCURSOR                       hCursor;

                   HBRUSH                          hbrBackground;

                   LPCTSTR                         lpszMenuName;

                   LPCTSTR                         lpszClassName; 

     }WNDCLASS,*PWNDCLASS;

    4、注册窗口(BOOL  RegisterClass(&wndclasses))

    5、创建窗口(hwd=CreateWindow(注册窗口类名,窗口名,窗口类型,窗口位置大小,菜单资源,父窗口,拥有此窗口的应用程序句柄,窗口使用额外数据))

    6、窗口使用与更新(ShowWindow(句柄,SW_SHOW)     UpdateWindow(句柄))

你可能感兴趣的:(MFC)