预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共92页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

VC++的Windows编程 入门 东南大学成贤学院 1 本课程简要介绍Windows应用程序的形式和在VC++ 集成开发环境下使用MFC开发Windows应用程序的基本 方法,以使同学们对面向对象的可视化(Visual)程序设 计建立一个初步的概念并掌握一些基本方法,为深入学习 和使用VC++和其他可视化编程工具打下基础。 2 主题 Windows编程概述 使用MFC进行Windows编程 常用控件及其应用 菜单设计 3 §1Windows编程概述 ●Windows编程的基本特点 ●Windows编程方法 ●窗口 4 1.1Windows编程的基本特点 Windows编程有三个基本特点: ■可视化的图形用户界面设计 ■使用面向对象方法编程 ■采用事件驱动的程序运行方式 5 1.可视化的图形用户界面设计 我们已经相当熟悉以下小程序: 【例1.1】 #include<iostream> usingnamespacestd; intmain() { cout<<"VC++是功能强大的编程工具!"<<endl; cout<<"VC++是面向对象的编程工具!"<<endl; cout<<"VC++是可视化的编程工具!"<<endl; return0; } 6 【例1.2】 #include<iostream> usingnamespacestd; intmain() { doubler; cout<<”请输入圆半径:”<<endl; cin>>r; cout<<”圆周长=”<<2*3.1416*r<<endl; cout<<”圆面积=”<<3.1416*r*r<<endl; return0; } 这是基于控制台的文字用户界面应用程序。运行这种程序之 后,屏幕出现MS-DOS窗口,并且按照程序代码的流程执 行,用户输入数据后即显示执行结果。7 8 进行Windows编程,同样可以写出相同功能的程序,程 序运行出现如图1和图2所示的窗口。图1中的窗口称为文 档窗口,图2中的窗口称为对话框。显然,它们比MS- DOS的文字用户界面更为友好且方便。这种界面称为 图形用户界面(GUI,GraphicalUserInterface)。 在非可视化环境下,图形用户界面的设计 都需通过编写程序代码来实现,且在设计 过程中是看不到界面的实际显示效果的。 9 VisualC++支持可视化的图形用户界面设计。Windows 应用程序的每个图形界面元素(如对话框、菜单、命令按 钮、文本框等)都是可视的(Visual),即设计时在显 示器屏幕上是可见的,且所见即所得。编程者可根据具体 用户界面设计的要求,直接使用VC++系统提供的标准工 具在屏幕上“画”出各种Windows风格的图形界面元素, 而不必为这些界面元素的构建设计大量代码,VC++会自动 生成这些界面元素的设计代码,开发人员只需为每个图形 界面元素设置特定的属性值,代码编写只针 对界面元素所要实现的具体功能。 10 2.面向对象编程方式 由于Windows应用程序的复杂性,从图形用户界面到整个 应用程序,都是采用面向对象的方法组织的。Windows中 的对象可以是所有的规范部件,如窗口、菜单、工具栏、 按钮、文本框、以及程序模块等。 从用户的观点看,Windows应用程序有一个窗口,窗口上 有若干菜单、命令按钮、图标等界面图形元素; 而窗口背后是一些对应的程序。 从MFC的面向对象模型看,一个Windows应 用程序可以拆分成许多功能独立的对象,各 自负责不同类型的工作,其最基本的构成对象可以分为两大 类:程序对象和窗口对象。 11 一个应用程序的执行就像一场舞台演出。应用程序对象是幕后人员 (导演、剧务等),它们负责安排并指挥“演员”(窗口)上场,准 备和调度各种演出“资源”(如菜单、工具栏、图标等)。从操作系 统来看,具有“法人”地位的是应用程序对象而非窗口对象,应用程 序可以占有CPU时间和内存空间,还可拥有演出所需的“资源”。 Windows系统给每个对象分配一个句柄 (handle),它是一个4字节长的整数值, 是对象的唯一内部编号。应用程序通过句柄 访问相应的对象。每个对象除了句柄外,还 有一个对象标识符ID,可看作是对象的外 部名。ID与句柄的区别主要在于:ID可以是 用户自行设定的;而句柄是系统内定的,对 用户是透明的,这能防止应用程序直接访问 对象的内部信息。 12 3.事件驱动的程序运行机制 传统的文字用户界面的应用程序都有一个起点和终点,程 序中的各模块(函数或对象)的控制过程和执行顺序是在 编写程序时精心设置好的,是预知的、确定的,整个程序 的运行过程是明确的。这种程序运行机制称为过程驱动。