3.MFC方式
MFC方式是使用标准C++和微软基础类库(Microsoft Foundation Class Library,MFC)来开发Windows应用程序,这里所说的标准C++语言是指ANSI/ISO C++语言。MFC库是一个C++类库,它通过把Windows API进行C++封装,屏蔽了Windows编程内部复杂性,并通过集成开发环境的帮助,使得Windows界面开发可以以可视化的方式进行。MFC方式比SDK方式的开发效率高(注意是开发者的开发效率,不是指程序运行速度),是Visual C++开发界面程序的主流选择。这种方式要求开发者熟悉标准C++和Windows程序基本运作过程。这种方式开发的Windows程序习惯称为MFC程序。
3.1通过向导生成一个简单的MFC程序
3.2手工写一个简单的MFC程序
1>新建一个Win32空项目,设置项目属性的“MFC的使用”为“在共享DLL中使用MFC”,新添加Test.h与Test.cpp文件,如下图所示:
DLL是动态链接库,相当于一个函数库,这里我们选择使用MFC动态链接库后,就可以使用MFC类库里面的东西了。
2>在Test.h中输入代码:
#pragma once
在Test.cpp中输入代码:
#include
每个MFC程序都要有一个继承自CWinApp(或CWinAppEx)的应用类,比如CTestApp,应用类的声明周期从程序开始执行到执行结束,应用类必须重载CWinApp的虚函数InitInstance,程序的初始化通常放在这个函数里,这里我们让程序刚运行时就跳出一个消息框,因此把AfxMessageBox放在InitInstance里。AfxMessageBox是MFC中显示消息框的函数,_T作用于TEXT相同,都是为了让字符串同时支持Unicode字符集和多字节字符集环境。AfxMessageBox是一个全局函数,MFC中有好多全局函数都以Afx开头,该函数的用法和MessageBox差不多,它的函数声明有两种方式:
int
其中,lpszText是要显示字符串内容;nType是消息框上按钮的类型;nIDHelp表示帮事件的ID,如果是0表示当前程序默认帮助;nIDPrompt是当前程序字符串资源表中的字符串ID号;函数的返回值可以取下列值:
IDABORT:用户选择了退出按钮
IDCANCEL:用户选择了取消按钮
IDIGNORE:用户选择了忽略按钮
IDNO:用户选择了否按钮
IDOK:用户选择了确定按钮
IDRETRY:用户选择了重试按钮
IDYES:用户选择了是按钮
3>运行工程结果如下图所示: