Windows程序设计教程 第2版 教学课件 ppt 作者 王秀梅 第2章-Windows编程概述

上传人:E**** 文档编号:89400748 上传时间:2019-05-24 格式:PPT 页数:52 大小:1.08MB
返回 下载 相关 举报
Windows程序设计教程 第2版  教学课件 ppt 作者  王秀梅 第2章-Windows编程概述_第1页
第1页 / 共52页
Windows程序设计教程 第2版  教学课件 ppt 作者  王秀梅 第2章-Windows编程概述_第2页
第2页 / 共52页
Windows程序设计教程 第2版  教学课件 ppt 作者  王秀梅 第2章-Windows编程概述_第3页
第3页 / 共52页
Windows程序设计教程 第2版  教学课件 ppt 作者  王秀梅 第2章-Windows编程概述_第4页
第4页 / 共52页
Windows程序设计教程 第2版  教学课件 ppt 作者  王秀梅 第2章-Windows编程概述_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《Windows程序设计教程 第2版 教学课件 ppt 作者 王秀梅 第2章-Windows编程概述》由会员分享,可在线阅读,更多相关《Windows程序设计教程 第2版 教学课件 ppt 作者 王秀梅 第2章-Windows编程概述(52页珍藏版)》请在金锄头文库上搜索。

1、,Windows是一个多任务的操作系统,也就是说,在Windows中允许多个应用程序同时运行。 在Windows操作系统上运行的应用程序叫做Windows应用程序。,Windows应用程序的进行是依靠外部发生的事件来驱动。 程序不断等待,等待任何可能的输入,进行判断后再做适当的处理。 下面对Windows编程的基本知识进行详细介绍。,2.1 Windows界面组成,1窗口 2边框 3标题栏 4系统菜单 5菜单栏,6工具栏 7客户区 8状态栏 9图标 10垂直滚动条和水平滚动条,图2.1 窗口,图2.1 窗口,2.2 Windows应用程序的数据类型,数据类型是对数据的一种抽象描述。 在计算机程

2、序中能操作的数据有很多种,不同的数据所需要的存储空间有所不同。 将数据按照类型进行分类,有助于程序员对于存储空间的分配。,2.2.1 基本数据类型,在Windows应用程序中,为了提高应用程序的可读性,Windows为许多基本数据数定义了别名,例如:,typedef unsigned long DWORD; typedef int BOOL; typedef unsigned char BYTE; typedef float FLOAT; typedet unsigned int UINT;,另外,Windows应用程序还提供了一些结构类型的数据,例如: typedef struct tagM

3、SG HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; MSG;,2.2.2 特殊数据类型,在Windows应用程序中,存在着许多复杂的程序对象和实例,如窗口、字体、滚动条等。 为了在程序中区别这些复杂的程序对象和实例,Windows对它们进行了标识。 这种有别于普通变量的标识称为句柄。,2.3 Windows应用程序结构,一般情况下,一个Windows应用程序由头文件、源文件、动态链接库和资源等几部分组成。 但在这几个组成部分中,开发人员的主要工作是对源文件进行编写。 下面对Windows

4、应用程序的源文件进行介绍。,2.3.1 WinMain函数,在传统的DOS程序中,main()函数是程序的入口点,而在Windows应用程序中,WinMain()函数成为了程序的入口点。 当Windows操作系统启动一个程序时,调用的就是该程序所对应的WinMain()函数。 当Winmain()函数结束或返回时,Windows应用程序结束。,WinMain()函数的原型如下: int WINAPI WinMain ( HINSTANCE hThisInst, HINSTANCe hPrevInst, LPSTR lpszCmdLine, Int nCmdShow, ),WinMain()函数

5、的主要作用是创建应用程序窗口并建立消息循环。 在该函数完成此项工作的过程中,经过了5个步骤:设计窗口类型、注册窗口类型、创建窗口、显示窗口和消息循环。,1设计窗口类型,在创建应用程序窗口之前,需要对窗口的属性进行相应的设置,如窗口样式、窗口图样、窗口光标等。 在Windows中,需要在WNDCLASS结构中对窗口的属性进行设置,该结构的原型如下:,typedef struct _WNDCLASS UINT style; WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; HINSTANCE hInstance; HICON hIcon; H

6、CURSOR hCursor; HBRUSH hbrBackground; LPCTSTR lpszMenuName; LPCTSTR lpszClassName; WNDCLASS;,2注册窗口类型,对窗口类型进行设计后,需要进行注册。 对窗口进行注册就是将设计好的窗口类型向系统进行登记。 注册窗口类型时需调用RegisterClass()函数,该函数的原型如下: BOOL RegisterClass(WNDCLASSA ,3创建窗口,创建窗口时,需要调用API函数CreateWindow()函数,该函数的原型如下: HWND CreateWindow( LPCTSTR lpClassNam

7、e, LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HANDLE hInstance, LPVOID lpParam);,4显示窗口,调用ShowWindow()函数可以显示窗口,该函数的原型如下: BOOL ShowWindow( HWND hWnd, int nCmdShow );,在显示窗口后,需要对窗口进行刷新操作。 刷新窗口可以使用UpdateWindow()函数,该函数的原型如下: BOOL UpdateWindow(

8、 HWND hWnd);,5消息循环,创建并显示窗口后,应用程序的初始化工作进入了消息循环这一阶段。 代码如下: while (GetMessage( ,Windows应用程序可以接收各种输入消息,如键盘、鼠标、计时器产生的消息或是由其他应用程序传递过来的消息等。 接收消息时使用的是GetMessage()函数,该函数的原型如下:,BOOL GetMessage( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax );,GetMessage()函数将获取的消息复制到一个MSG结构中。 如果队列中没有任何消息,GetMe

9、ssage()函数将一直空闲直到队列中又有消息时再返回。,如果队列中已有消息,它将取出一个后返回。 MSG结构包含了一条Windows消息的完整信息,其定义如下:,HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; MSG;,2.3.2 WndProc窗口函数,在WinMain()函数中创建窗口后,然后需要编写一个窗口函数,用于处理发送给窗口的消息。,这个窗口函数就是WndProc(),该函数的原型如下: LRESULT CALLBACK WndProc( HWND hwnd, UINT me

10、ssage, WPARAM wParam, LPARAM lParam);,WndProc()函数由一个或多个switch语句组成。 每一条case语句对应一种消息。 当应用程序接收到一个消息时,相应的case语句被激活。,2.4 Windows编程实例,本节将通过一个实例介绍Windows窗口的创建过程。 当程序创建后,会在客户区输出文本,并且当鼠标单击窗口的客户区时,会发出声音。,图2.3 输入工程名,图2.4 选择创建空工程,图2.5 【New Project Information】对话框,图2.6 添加C+ Source File,图2.7 程序sample0201的运行结果,图2.

11、8 【Project Settings】对话框,小 结,本章主要介绍了Windows编程的基础知识,包括Windows应用程序界面组成和Windows应用程序结构,并通过一个实例让读者熟悉Windows应用程序编程过程。 其中,读者应该明确掌握Windows应用程序中各个主要函数的作用:WinMain()函数是一个程序的入口点,而WndProc()函数用于响应窗口中的每个消息。 下一章将要向读者介绍Windows应用程序的类封装。,上机指导,实验一:熟悉Visual C+集成开发环境 实验内容 创建一个名为myfirst的工程,部分界面如图2.9所示。,图2.9 New对话框,实验目的 工欲善

12、其事,必先利其器。 同样,想要熟练地编程,首要条件是要熟悉编程环境。 因此本实验需要读者快速掌握创建Win32 Application的步骤。,实现思路 在2.4节讲述了如何创建一个Win32 Application实例。 按照2.4节讲述的顺序创建即可。,实验二:创建一个Win32应用程序(1) 实验内容 创建一个Win32的应用程序,程序的运行结果如图2.10所示。,图2.10 实验二的运行结果,实验目的 创建一个标题名为“上机指导”、窗口内容显示“上机指导实验二”的Win32应用程序。 通过该实验,可以理解Windows应用程序的组成及其创建过程。,实现思路 在2.4节讲述了如何创建一个Win32 Application实例。 按照2.4节讲述的顺序创建即可。 但是其中一些必要的代码需要改动,请读者自己思考。,实验三:创建一个Win32应用程序(2) 创建一个Win32的应用程序,程序的运行结果如图2.11所示。,图2.11 实验三的运行结果,实验目的 创建一个标题名为“上机指导”的Win32应用程序,其窗口内容显示一个由“*”组成的矩形。 通过该实验,可以理解Windows应用程序的组成及其创建过程。,实现思路 在2.4节讲述了如何创建一个Win32 Application实例。 按照2.4节讲述的顺序创建即可。 但是其中一些必要的代码需要改动,请读者自己思考。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号