MFC编程基础教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章基于对话框的Windows应用程序
1.简介Windows编程的两种方法,即Windows API编程和MFC编程。
2.基于对话框的应用程序的创建过程:
•建立基于对话框的MFC 应用程序框架;
•放置控件;
•设置控件属性;
•为控件连接变量,即为控件命名;
•添加并且编写消息处理函数。
3.常用基本控件:
•静态文本框:主要用来显示文本信息,不能接受用户输入
•命令按钮:是最常见的、应用最广泛的一种控件。在程序执行期间,当单击某个命令按钮后就会执行相应的消息处理函数。
•编辑框:是一个文本编辑区域,用户可以在该区域输入、编辑和显示正文内容。
•框架:将一组相关的控件框起来,达到标识一组控件的作用。
•单选按钮:用户在一组单选按钮中最多只能选择一项。当某一项被选定后,其他选项自动变成未选状态。
•复选框:列出了可供选择的项,用户可根据需要选择其中的一项或多项,各选项之间的状态互不相关。
•列表框:通过显示多个选项,供用户选择,达到与用户对话的目的。
•组合框:组合了编辑框和列表框的特性而形成的一种控件。在列表框中列出可供用户选择的项,当用户选定某项后,该项内容自动装入编辑框中。
•滚动条:通常附在对话框上用来协助观察数据或确定位置,也可以用来作为数据输入的工具。
1.1 Windows编程基础
Windows 应用程序的主要特点是:
•具有标准的图形用户界面。
•具有与硬件无关的特性。
•采用“消息传递,事件驱动”的运行机制。
用Visual C++ 编写Windows 应用程序主要有两种方法:一是使用Windows 提供的应用程序接口(Application Programming Interface ,API )函数;二是使用Microsoft 提供的微软基础类(Microsoft Foundation Class ,MFC )。
1.1.1 Windows API编程
从本质上来说,API 是Windows 系统支持的函数定义、参数定义和消息格式的集合,共有上千个标准的API 函数可供应用程序调用。调用Windows API 函数的方法与调用C 语言库函数的方法基本相同。
下面通过一个简单的实例来说明Windows API 编程是如何调用API 函数的。
…………………………………………………………
# include "windows.h"
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
MessageBox ( NULL," 这是一个简单的Windows 应用程序!","API 函数调用示例",MB_OK );
return 0;
}
…………………………………………………………
这是一个简单的Windows 应用程序。Windows 应用程序的主函数是WinMain() ,不是main() 函数。函数体中调用了Windows API 函数MessageBox() ,弹出如图所示的对话框。
在直接使用API 函数进行Windows 编程时,程序员不仅需要熟记一大堆常用的API 函数,而且还要对Windows 操作系统有深入的了解,编写大量的代码。用这种方式即使是开发一个很简单的应用程序也需要大量的工作,直接用API 函数进行编程是需要极大的耐心和丰富的编程经验的。
1.1.2 MFC编程
MFC 是Visual C++ 的核心。虽然在Windows 应用程序中可以直接调用API 函数,但是一般不经常直接调用,而是从MFC 类创建对象并调用属于这些对象的成员函数。MFC 是Microsoft 公司提供的用来编写Windows 应用程序的C++ 类库,MFC 大约有200 多个类,可以分成两种:一是Cobject 类的派生类,它们以层次结构的形式组织起来,几乎每个子层次结构都与一个具体的Windows 实体对应;二是非Cobject 派生类,这些都是独立的类,如表示点的Cpoint 类,表示矩形的Crect 类。
在Visual C++ 中,可以创建以下3 类典型的Windows 应用程序,它们都是通过MFC AppWizard(exe) (以下简称AppWizard )向导创建的:
(1)基于对话框的应用程序:这类程序适合于文档较少而交互操作较多的应用场合,如Windows 自带的计算器程序。
(2)单文档界面(SDI )应用程序:这类程序一次只能打开一个文档,如Windows 自带的Notepad 程序。
(3)多文档界面(MDI )应用程序:这类程序可以同时打开多个文档并进行处理,处理的过程中很容易地进行切换,如Microsoft Word 。
1.2 基于对话框的Windows应用程序
对话框是一种特殊类型的窗口,绝大多数Windows程序都通过对话框与用户进行交互。在Visual C++中,对话框既可以单独组成一个简单的应用程序,又可以成为文档/视图结构程序的资源。
1.2.1 简单应用程序实例
创建对话框程序的步骤:
(1)建立基于对话框的MFC 应用程序框架;
(2)放置控件;
(3)设置控件属性;
(4)为控件连接变量,即为控件命名;
(5)添加并且编写消息处理函数。
【例1.1】编写一个如图所示的应用程序。若单击“复制”按钮,则把上面的编辑框中的内容复制到下面的编辑框中;若单击“结束”按钮,则退出程序的运行。
程序的创建过程:
(1)建立基于对话框的MFC 应用程序框架。
①选择“文件| 新建”命令;
②在“工程”选项卡中,选定“MFC AppWizard(exe) ”,输入工程名称,选择“确定”。
③选定“D 基本对话”,即创建基于对话框的应用程序,选择“完成”。
(2)放置控件
•删除原有的控件。
•放置所需的控件:两个编辑框和两个命令按钮。方法是:先单击控件工具栏上的控件图标选择所需的控件,然后在对话框设计界面上按住鼠标左键拖拉出所需要的大小后释放。
(3)设置控件属性
选定控件,在其快捷菜单中选择“属性”命令,在弹出如图所示的对话框中进行设置。
上面编辑框的属性设置为: