MFC基础知识
MFC中的主要类目
CObject:大部分MFC类的基类。定义对象的创建、删除、串化
mdTarget及其派生类
功能:实现对消息的分发处理
窗口支持类
CWnd及其派生类
下一层:
框架窗口:管理视图和文档的窗口;
视图类:提供文档的各种显示和处理方式;
对话框类:作为自定义对话框的基础和提供各种公共对话框;
控件类:代表各类Window标准控件;
控制条类:代表工具栏、状态栏等窗口组件;
图像类
CDC:封装HDC和所有作图的API;
作图工具对象类:封装各种作图工具对象;
数据结构类
提供动态数组、链表、映射等数据结构的面向对象的实现;
简单数据类(不是从CObject派生的)
提供点、矩形、大小、字符串等简单数据操作的类封装。
MFC中的主要类目
文件服务类:
封装API中的文件操作。
数据库类
按照数据库对象对数据库操作API进行封装;
服务类
WinSocket类
提供基于套接字的通信功能。
等等。
2、MFC中应用程序类型
MFC中应用程序类型
应用程序类型
对话框:以对话框作为主窗口;
单文档:一次只打开一个文档;
多文档:一次打开多个文档。
AppWizard:应用程序向导
对话框应用程序
包含一个CWinApp的派生类和CDialog的派生类。如:CDlgApp和CDlgAppDlg
CDlgAppDlg:与一个自动创建的对话框资源关联。或者说,代表了该对话框资源。
在对话框资源中添加控件;
使用ClassWizard的Member Variables将控件定义为对话框类的成员。
定义为控件类对象:用于操作控件对象;
定义为数值类型:用于直接获取或设置控件中的数据。
用UpdateData (0), UpdateData(1)保持控件数据与成员数据之间的同步。
使用ClassWizard定义对控件事件的响应函数。
向导自动创建一个对话框类的成员函数用于处理选择的命令消息;
同时自动生成成员函数与该消息的对应关系。
3、MFC应用程序的消息响应
MFC的消息处理理念
回忆:
Win32程序在窗口的消息处理函数(窗口过程函数:WndProc)中,对各类消息进行集中处理。
MFC的消息处理理念
将各个消息分配给类成员函数处理;
mdTarget中实现);
消息与成员函数的对应关系表示为一个映射数组,由以下宏结构定义:
BEGIN_MESSAGE_MAP
END_MESSAGE_AMP
其中:
MAND:MAND消息的函数;
ON_MESSAGE:指定处理WM_XXX消息的函数;
ON_NOTIFY:MAND消息的函数;
等等。
MFC的消息处理理念
一些基类定义了对一组特定消息的处理函数(及其与消息的映射关系)
如:CWnd的OnDraw()处理WM_PAINT。
这些消息以虚函数的形式定义,以便在派生类中可以重定义(重载),从而实现特定的功能。
如:从CWnd 派生CMyWnd类,其中重新定义OnDraw(),在该函数中定义新窗口的作图方式。
VC环境中可视化地提供了定义消息与处理函数的映射关系的方法。
类视图:右键菜单:
Add Virutal Function: 定义基类的虚函数;
Add Windows Message Handler:定义WM_XX的消息处理;
资源编辑器中定义菜单、控件的消息处理:
菜单项资源--右键菜单:ClassWizard
控件--右键菜单:建立类向导
文档/视图结构
单文档应用程序
多文档应用程序
7 MFC基础知识 来自淘豆网m.daumloan.com转载请标明出处.