一、MFC类库简介
●微软基础类库( Microsoft Foundation Classes, MFC )是Microsoft公司提供的关于Win32 API的C++类库集,它定义了一个标准的应用程序框架。
●借助这个框架,用户可以轻松地开发标准的Windows应用程序。
●MFC实现了标准的用户接口,它提供的代码可以管理窗口、菜单、对话框,可以实现基本的输入/输出和数据据存储。
●MFC还提供了大量可重用代码,隐藏了程序设计中许多复杂工作,这也是面向对象方法的典型体现。
1.1 MFC类的层次结构
1.2 MFC中常用类
1.根类CObject
●Microsoft基本类库中的大多数类都是由CObject类派生而来。
2. MFC应用结构类
●MFC应用结构类对大多数应用提供了通用功能,用于构造一个应用的框架,用户可以在框架中添加应用特定的功能。
●AppWizard可以产生几种类型的应用,所有这些都以不同的方式使用应用框架。
(1)应用程序和线程支持类 (2)命令相关类
(3)文档类 (4)文档模板类
3.窗口、对话框和控件类
(1) CWnd类 (2)框架窗口类 (3)对话框类
(4)视图类 (5)控件类 (6)控件条类
4.菜单类
5.绘图和打印类
6.简单的数据类型类
7.数组、列表和映射类
8.文件和数据库类
(1)文件I/O类 (2) DAO类 (3) ODBC类
9. Internet和网络类: Internet和网络类允许与其他使用ISAPI的计算机或一个Windows Socket交换信息。
10. OLE类(Object Linking and Embedding)
11.调试和异常类
12. AFX函数:MFC提供的API全局函数,提供给C++开发Windows应用程序的人员直接调用,函数名均以Afx开头。
1.3 一个简单的Windows MFC应用程序
(1)在File下拉菜单中选择New选项,以建立项目文件。
(2)在弹出的New对话框中,选择Projects选项卡,并选择Win32 Project项,输入创建项目文件名Myapi
(3选择Empty project选项,创建一空项目文件。
(4)点击C++ Files(.cpp)源文件,选择Add添加新建项,以建立新C++源文件。
(5)选择菜单项目-*属性配置属性,选择"在共享DLL中使用MFC"
主窗口类:
#include <afxwin.h>
// MFC头文件
class CMainFrame : public CFrameWnd // 声明主框架(窗口)类
{
public:
CMainFrame() // 构造函数中创建主窗口
{
Create(NULL, "我的窗口", WS_OVERLAPPEDWINDOW, CRect(0, 0, 400, 300));
}
protected:
afx_msg void OnL ButtonDown(UINT nFlags, CPoint point);
DECLARE_ESSAGE MAP()
};
// 消息映射入口
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
ON_WM_LBUTTONDOWN() // 单击鼠标左键消息的映射宏
END_MESSAGE_MAP()
void CMainFrame::OnL ButtonDown(UINT nFlags, CPoint point) // 定义消息映射函数
{
MessageBox("你好,我的Visual C++世界! ", "问候",0);
CFrameWnd::OnLButtonDown(nF lags, point);
}
应用程序类:
class CHelloApp : public CWinApp
// 声明应用程序类
{
public:
virtual BOOL InitInstance();
};
CHelloApp theApp;
// 建立应用程序类的实例
BOOL CHelloApp::InitInstance() // 每当应用程序首次执行时都要调用的初始化函数
{
m_pMainWnd = new CMainFrame(); // 构造函数创建主窗口
m_pMainWnd->ShowWindow(m_ nCmdShow); // 显示主窗口
m_pMainWnd->UpdateWindow();
// 更新主窗口
return TRUE;
}
运行结果:
鼠标右键后显示“你好,我的Visual C++世界!”
二、使用AppWizard开发MFC应用程序
●应用程序框架包括了用于生成应用程序所必需的各种面向对象组件。
●MFC AppWizard可以帮助程序员创建一个MFC应用程序框架,并且自动生成这个MFC应用程序框架所需要的全部文件。
●在此基础上,程序员利用资源管理器和类向导ClassWizard进一步编程,为应用程序添加实现特定功能能的代码,以实现应用程序所要求的功能。
1.生成MFC应用程序框架
例:使用MFC AppWizard生成简单的MFC应用程序。
(1)启动MFC AppWizard :定义项目名称。
在File菜单下选择New,出现New对话框,在模板中选择"MFC应用程序”, 定义项目名称为MyMFC。