c++Windows应用程序.ppt_第1页
c++Windows应用程序.ppt_第2页
c++Windows应用程序.ppt_第3页
c++Windows应用程序.ppt_第4页
c++Windows应用程序.ppt_第5页
已阅读5页,还剩45页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、,第三个Windows应用程序GUI程序,VisualC编程,课程:Li guirong liguing 159 湖北汽车工业大学,2,本课程内容,1Windows操作系统简介2Windows编程基础3Windows消息44 Microsoft是Windows系统的另一个重要版本,Windowsv2.01990年5月;Microsoft是Windowsv3.01992年4月,它是突破性版本;Microsoft是Windowsv3.1版本,它支持动态数据交换、对象连接和嵌入、多媒体等功能Microsoft在Windows98发行版1999年12月推出了Windows2000操作系统,该操作系统具

2、有32位图形业务性质,是使用高级NT核心技术的纯32位操作系统,非常稳定。2000年9月,Microsoft将WindowsME作为混合16位/32位的Windows系统发布。2001年8月,WindowsXP是基于Windows2000代码的产品,具有新的用户图形界面。5、Windows操作系统的特征、图形用户界面Windows系统和Windows应用程序的用户可以通过一致的用户界面获得多种方便的理解。多任务处理机制Windows为用户提供了非常重要的多任务处理功能。硬件即插即用功能Windows提供了支持多种外部设备的多种设备驱动程序。与设备无关的图形图像机制、6、基于Windows编程、

3、Windows界面、Win32操作系统提供了一组预配置的界面元素或控件,以创建类似于GUI外观的应用程序。这种方法使用户能够熟悉Windows应用程序,并轻松地将操作技术知识从熟悉的软件应用程序传递到新的不熟悉的软件应用程序。您还可以通过编程方式自定义控件和样式,为界面设计者提供创作空间。7,基于Windows编程;Windows是基于图形界面的多任务操作系统。基于Windows的程序具有相同的外观和命令结构。帮助用户学习使用Windows应用程序。运行Windows的应用程序以独立于硬件的方式处理视频显示、键盘、鼠标、打印机、串行端口和系统时钟。特别是标准化的图形用户界面,集成界面使用图片或

4、图标表示磁盘驱动器、文件、子目录和其他操作系统的命令和操作。集成用户界面也为程序员提供了好处。在Windows的多任务环境中,用户可以在同一时刻运行多个应用程序或同一应用程序的多个实例。应用程序可能处于活动状态。启用的应用程序表示正在接收用户的输入。一次只能激活一个应用程序,但可以同时运行的任务数没有限制。Windows提供了许多内置函数,以便于使用弹出菜单、滚动条、对话框、图标和其他熟悉的用户界面必须具有的特性。常用菜单和对话框的内置函数很容易使用。所有菜单都在Windows(而不是程序员)上实现,因此它们具有相同样式的键盘和鼠标界面。,8,基于Windows编程的开发环境,视觉开发系统集成

5、了一系列系统可用资源和开发工具,9,基于Windows编程的开发工具,面向对象的编程语言c,Java,Delphi,VB.编程对象组件(对象)窗口对话框、按钮、资源(位图、图标、字符串)创建对象、修改组件对象的属性对象功能静态属性动态行为编程方法、传统编写方法:API交互方法:MFC、10、Windows编程基本330 12、Windows编程基本概念界面组件、用户界面(窗口)的配置窗口主边框和窗口子边框用户区域控制菜单栏菜单栏菜单栏水平滚动条和垂直滚动条最大化/还原窗口按钮最小化按钮关闭按钮状态栏.13、windows编程基本概念接口组件、用户界面组件由涉及世界并相互通信的实体(即对象)组成

6、,每个对象都有名称。例如,如果你看到汽车,你看到的不是一堆原子,而是汽车。您可以将汽车分解为轮子、引擎、门、燃料箱等,它们都是特定实体的对象。窗口本身及其组件可以作为对象查看。窗口的显示样式(效果)可以通过更改或设置组件的属性来实现。窗口的行为通过在组件之间发送消息来实现。14,windows编程基本概念接口组件,将对象之间的通信称为消息传输。即,一个对象请求另一个对象以某种方式执行操作。例如,十字路口的红灯要求司机停车。司机接受后,踩下刹车踏板,汽车接受后,分解了这个信息,向相关对象发出了信号。刹车作用于车轮,将动能转化为势能,从而降低速度;尾灯再向后面其他车辆的司机发送信息。各种仪表板把发

7、送的信息的动作结果反馈给了司机。15,从编程角度看,对象是内存中著名的存储设备15,Windows编程基本概念接口组件。称为变量是一种数据对象,但是对象的概念比变量的含义更广,通常用于将对象定义为具有数据和代码的内存区域,数据表示对象的特征(属性),代码响应消息以使对象执行特定动作(动作)。例如,可以使用屏幕上显示的可视窗口对象比较用户认为的对象和程序员认为的对象之间的关系。窗口对象(例如颜色、长度、显示内容等)的特征与程序中的数据相对应。用户对窗口执行的操作(例如移动窗口、更改窗口大小等)会向窗口发送消息,提示用户计算机(内存中的)对象执行其代码,代码执行结果会更改对象的数据,从而更改显示的

8、相应对象的位置和大小。16,发送消息的16,与Windows编程基本概念接口组件标准函数调用类似,但消息还具有不在函数调用中的特性。例如,消息总是执行带有参数的选择机制,以区别于其他消息,并通知对象完成了哪些操作。函数名总是在内存中指向该函数的代码所在的确定地址,消息不指向内存中的地址,但会告诉接收消息的对象要引用的内存地址是什么。函数不仅执行操作,还执行有关如何完成这些操作的方法。消息仅说明了相应的操作,对象中定义的方法说明了如何完成操作。向不同的对象发送相同的消息时,执行的方法不同。,17,Windows编程基本概念句柄,句柄是Windows编程的基础。Windows应用程序中有很多对象,

9、如菜单、窗口、图标、内存对象、位图、刷子、设备对象、程序实例等,在Windows中,对象使用手柄进行标识,可以使用一个手柄访问应用程序中的一个对象,手柄是Windows使用的非重复整数。句柄主要用于标识应用程序中的对象之一。句柄只能是分配、与其他句柄比较以及是否为空。一般句柄类型和说明,HWND窗口句柄HDC设备环境句柄HBITMAP位图句柄HCURSOR光标句柄HCURSOR光标句柄HICON图标句柄HFONT字体句柄HMENU菜单句柄HPEN画笔句柄HFILE文件句柄HBRUSH画笔句柄HBRUSH画笔句柄HINSTANCE当前实例句柄,18,句柄,应用程序通过句柄访问相应的对象信息消息内

10、容位于核心MSG:typedefstructtagMSG HWNDhwnd;/如果窗口句柄为空,则检索消息队列中的所有消息UINTmessage。/Windows.h头文件中的宏定义标识wparam的消息值;/有关具有不同LPARAMlParam值的消息的其他信息,具体取决于值:/长单词参数DWORDtime指定消息发送到队列的时间POINTpt/指定发送消息时屏幕光标的位置。数据类型POINT也是结构。 MSG,typedefstructtagPOINT LONGx;长y; POINT,20,其他信息与特定消息编号值相关。在Win中,消息是核心MSG,在、21、VC中有一些系统定义的消息分类

11、,其他前缀符号经常用于标识消息宏中消息的从属分类。系统定义的消息宏前缀如下:BM表示按钮控制消息CB表示组合框控制消息DM表示默认按钮控制消息EM表示控制消息编辑,LB表示列表框控制消息SBM表示滚动条控制消息WM表示窗口消息,窗口管理消息输入消息系统剪贴板消息控制消息处理消息滚动条通知消息非用户区域消息MDI消息DDE消息应用程序自定义消息,Windows编程常规消息,22,类似消息。WM_LBUTTONUP:释放鼠标左键时创建;WM_RBUTTONDOWN:右键单击时创建;WM_RBUTTONUP:释放鼠标右键时创建;WM_LBUTTONDBLCLK:双击鼠标左键时创建;WM_RBUTTO

12、NDBLCLK:通过双击鼠标右键创建。1 .WM_LBUTTONDOWN:执行系统动作的按键组合,例如产生按一下滑鼠左键的讯息,Windows应用程式一般讯息,23,系统按键是Alt键和功能键的组合,以执行系统功能表。3 .WM_CHAR:单击下一个非系统键时生成的消息wParam,密钥ASCII代码1Param与WM_KEYDOWN相同,类似消息是单击键而不是系统键时生成的WM_KEYUP。例如,F1的虚拟密钥在Windows.h文件中定义为VK_F1。2.WM_KEYDOWN:按下下一个非系统键时生成的消息wParam:标识按下或释放的键的键1Param:记录键重复次数、扫描代码、传输代码

13、、上一个键的状态等。24、wParam:未使用1Param:包含指向CREATESTRUCT数据结构的指针,不使用wParam和1Param。不使用、wParam和1Param。4 .WM_CREATE: CreateWindow函数发出的消息5。WM_CLOSE:关闭窗口时生成的消息6。WM_DESTROY: DestroyWiodow函数发出的消息,25,7。WM_QUIT: PostQuitMessage函数发送的消息wParam:包含退出代码,程序退出时检查信息1Param: 8。WM_PAINT,26,以进程为中心的方法计算平均分,以事件为中心的方法计算平均分,3,Windows上的

14、事件驱动程序设计,27,整个Windows应用程序通常包含5种类型的文件。,1 .c语言源文件2 .头文件3 .模块定义文件4 .资源说明文件5 .项目文件,4,配置Windows应用程序和编程步骤1。应用程序配置,28,1。所有应用程序的门户,类似于Main函数,2 .完成一系列定义和初始化,并生成消息循环。WinMain和WndProc是Windows应用程序的主体。其内容包括:2、源程序配置结构、29、(1)WinMain函数、三个基本组件:函数说明、初始化和消息循环、WinMain函数、注释!Win由多任务管理,可以同时存在同一应用程序的多个窗口,系统将每个窗口的执行称为一个实例,通过

15、使用一个实例句柄唯一标识、(2)初始化、(I .定义窗口类、窗口类的各种属性向窗口类数据结构WNDCLASS分配值来实现。窗口类定义通常使用以下函数:31,LoadCursor是应用程序中的窗口光标hcursiloadcursor(hinstance hinstance,lpctstrlpcursorname)、具有光标资源的模块句柄、NULL是系统预定义的光标、光标资源名称或系统预定义的光标in应用程序调用函数GetStockObject以获取系统提供的背景笔刷HBRUSHGetStockObject(intnBrush)。32、ii。注册视窗类别,Win系统本身提供一些预先定义的视窗类别,

16、程式设计人员也可以自订视窗类别,视窗类别必须先注册,然后再使用。窗口类注册由RegisterClass()函数实现。RegisterClass(/wndclass是窗口类结构RegisterClass函数的返回布尔值;如果注册成功,则为true、33、iii .创建窗口实例,然后创建窗口类的实例。由CreateWindow()函数实现函数原型。hwndcreatewindow(lpctstrlpszclassname,-窗口类名lpctstrlpsztitle,-窗口标题名称dworddwstyle,-窗口的样式intx,y,-应用程序调用ShowWindow函数以在屏幕上显示窗口show window (hwnd,ncmdshow)。/nCmdshow是窗口显示格式id,显示窗口时,应用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论