可视化编程基础
7.1.2 Windows程序设计的基本概念 Windows应用程序的特点:
➢ 具有标准的图形用户界面。 ➢ 具有与硬件无关的特性。 ➢ 采用“消息传递,事件驱动”的运行机制。
1.窗口与对象
窗口是应用程序与用户之间交互的接口环境。用户可以通过 窗口输入数据,控制应用程序的运行;应用程序可以通过窗口 显示数据和运行状态。
7.2.1 Windows API应用程序实例
共有上千个标准的API函数,调用方法与调用C语言库 函数类似 示例:
#include "windows.h" int APIENTRY WinMain(HINSTANCE hInstance
,HINSTANCE hPrevInstance ,LPSTR lpCmdLine ,int nCmdShow) {MessageBox(NULL,"简单的Windows应用程序!","API函数示例",MB_OK); return 0; }
5.代码少,速度快,容错处理能力强。
6.在运行时确定数据对象的设计。
7.3.2 应用程序框架
在Visual C++中,可以创建以下3类典型的Windows 应用程序,它们都是通过MFC AppWizard(exe)(以下简 称 AppWizard)向导创建的:
2.Microsoft Foundation Class——MFC
MFC是Visual C++的核心,是 Microsoft公司提供的用来编写 Windows应用程序的C++类库, 集成了大量已经预先定义好的类,大 约有200多个,用户可以根据编程的需要调用相应的类或自定义有关 的类。这些类可以分成两种:一是CObject类的派生类;二是非 CObject派生类,如表示点的CPoint类,表示矩形的CRect类等。
对象是指Windows的规范部件,包括各种窗口、菜单、按钮、 对话框以及程序模块等。
2.常用Windows数据类型
Windows应用程序的源程序中包含种类繁多的数据类型, 其中windows.h是用户调用系统功能的关键,文件中定义了 Windows系统使用的数据类型。
3.句柄
句柄是指系统创建对象后返回的用来代表该对象的一个唯 一的4字节长整数值,是整个Windows编程的基础,用于标识应 用程序中不同的对象和同类对象中不同的实例。例如,一个窗 口、按钮、图标、滚动条、输出设备、控件或者文件等。应用 程序通过句柄能够访问相应的对象信息,它代表对对象的引用。
第7章 Visual C++可视化编程基础
7.1 Windows程序设计概述 7.2 API及应用程序基本框架 7.3 MFC及应用程序框架 7.4 对话框与常用控件 7.5 菜单、工具栏与状态栏设计 7.6 文档/视图结构应用程序 7.7 程序举例
7.1 Windows程序设计概述
7.1.1基于Visual C++的Windows应用程序设计方法
注意:不是典型的Windows应用程序,典型WinMain具有 固定结构,完成三个任务:
注册窗口类、创建并初始化窗口、创建消息循环
7.2.2 Windows API应用程序结构分析
Windows应用程序具有相对固定的基本结构,其中由入 口函数WinMain和窗口函数构成基本框架,并包含各种数 据类型、数据结构与函数等。
1.完全支持所有的Windows函数、控制、消息、GDI (图形设备接口)基本图形函数、菜单以及对话框。
2.使用与传统的Windows API同样的命名规则,因此, 一个类所能完成的工作可直接从名字得知。
3.不使用容易产生错误的switch/case语句。
4.通过发送有关对象信息到文件的能力,来提供更好 的判断支持。也可以确认成员变量。
7.1.3 Windows应用程序中的常见消息 消息在 Windows程序设计中是很关键的因素 ,在
API程序设计方法中要求熟练记忆常见消息 ,但是在 MFC程序设计方法中只要求了解这些消息的相关含义即 可。
1.鼠标消息 2.键盘消息 3.关闭窗口消息 4.退出程序消息 5.重画消息
7.2 API及应用程序基本框架
7.3 MFC及应用程序框架
7.3.1 MFC概述
微软基础类库(MFC)是微软为Windows程序员提供 的 一 个 面 向 对 象分 Windows API 函 数 , 大 大 简 化 了 Windows 编 程 工 作 。 Microsoft公司的MFC具有以下特点:
1.WinMain函数 WinMain函数是所有Windows应用程序的入口,类似于 C语言中的main函数,其功能是完成一系列的定义和初始 化工作,并产生消息循环。
WinMain函数有三个基本的组成部分:函数说明、初始 化和消息循环。
2.窗口函数 窗口函数是应用程序处理接收到的消息的函数,其中 包含了应用程序对各种可能接收到的消息的处理过程。
4.事件驱动
Windows应用程序以消息为基础,以事件驱动之。 Windows应用程序启动之后将进入一个消息循环,等待系统或 应用程序的消息,消息的产生是因为事件发生的结果, Windows程序设计主要围绕编写事件或消息的响应函数上。
5.消息及其在Windows编程中的应用
Windows应用程序的运行是依靠事件来驱动,利用一个while 循环实现不断等待,如果有事件发生,操作系统会以消息的形 式传递给应用程序,应用程序会捕获相应的消息,然后通过调 用相应的函数响应消息。
用Visual C++编写Windows应用程序主要有两种方法:
1.Application Programming Interface——API
API是Windows系统和Windows应用程序间的标准程序接口,应用 程序可以通过此接口访问系统。凡是在Windows工作环境下执行的应 用程序都可以通过调用API函数来实现各种功能的操作。在Windows 程序设计的初期,程序员所能做使用的编程工具就只有使用API函数, 通过API函数的调用组合,就可以搭建出各种界面丰富、功能灵活的 应用程序。