LessonB-1窗口与消息

LessonB-1窗口与消息

ID:40559543

大小:86.50 KB

页数:5页

时间:2019-08-04

LessonB-1窗口与消息_第1页
LessonB-1窗口与消息_第2页
LessonB-1窗口与消息_第3页
LessonB-1窗口与消息_第4页
LessonB-1窗口与消息_第5页
资源描述:

《LessonB-1窗口与消息》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、LessonB-1窗口与消息一、窗口的创建建立窗口很简单,只需调用CreateWindow函数即可,其实,窗口的创建过程并非真的如此简单。因此,在我们试图调用CreateWindow函数之前,介绍一些背景知识会大有帮助。1.系统结构结构概述进行Windows程序设计,实际上是在进行一种面向对象的程序设计(OOP)。这一点在Windows中使用得最多的对象上表现最为明显。这种对象正是Windows之所以命名为Windows的原因,这个对象正式窗口(Windows)。桌面上最明显的窗口就是应用程序窗口。这些窗口含有显示程序名称的标题栏、菜单栏,甚至可能还有工具栏和滚动条。另一类

2、窗口是对话框,它可以有标题栏也可以没有标题栏。装饰对话框表面的还有各式各样的按钮、单选按钮、复选框、列表框、滚动条和文本框等,其中每一个小的对象都是一个窗口。更确切地说,这些对象都被称为“子窗口”或“控件窗口”或“子窗口控件”。作为对象,使用者会在屏幕上看到这些窗口,并通过键盘和鼠标直接与它们进行交互操作。窗口以“消息”的形式接收窗口的输入,窗口也借助消息与其它窗口通讯。对“消息”的理解将是学习如何编写Windows程序所必须越过的障碍之一。我们知道,大多数的Windows程序都有大小合适的应用程序窗口。也就是说,您能够通过鼠标拖动窗口的边框来改变窗口的大小。通常,程序将通

3、过改变窗口中的内容来响应这种大小的变化。是Windows本身而不是应用程序在处理与使用者重新调整窗口大小相关的全部琐碎的代码。应用程序是如何知道用户改变了窗口的大小的呢?对习惯于传字符模式编程的程序员来说,操作系统不具备将此类消息传递给用户的机制。因此这个问题是理解Windows体系结构的关键。当用户改变窗口的大小时,Window便向应用程序发送一条携带新窗口尺寸相关信息的消息。然后应用程序对自身的内容进行调整以反映出窗口尺寸的变化。“Windows向应用程序发送了消息”,那么操作系统是如何将消息传递给应用程序的呢?其实“Windows向应用程序发送了消息”是说Window

4、s调用了该应用程序内部的一个函数,而这个函数是用户写的,且是程序的核心,其参数描述了描述了由Windows所发送并由用户的程序所接收的特定消息。这函数被称为“窗口过程”。对于应用程序调用操作系统功能的做法是很熟悉的。例如,程序在打开磁盘文件时就要使用有关的系统调用,而操作系统调用应用程序的做法可能比较陌生,而这正是Windows体系结构的基础。应用程序所创建的的每一个窗口都有一个与之相关联的窗口过程。这个窗口过程可以是应用程序中的某一个函数,也可以位于一个动态链接库中。Windows正是通过调用窗口该过程来向窗口传递消息的。窗口过程则依据这些消息进行相应的处理,然后将控制权

5、返还给Windows。窗口过程用于处理传递给窗口的消息。通常这些消息用于将用户的鼠标或键盘输入通知给窗口,例如,正式通过这种途径使按钮窗口能够获知它被“单击”。而当窗口尺寸被调整或当窗口表面需要重绘时,也有相应的消息来通知窗口。Windows程序开始执行时,Windows首先为该程序建立一个“消息队列”。这个消息队列用来存放该程序可能建立的各种不同窗口的消息。程序中有一小段程序代码,叫做“消息循环”,用来从消息队列中检索消息,并且将它们分发给相应的窗口过程。而有些消息直接发送给窗口过程,不放入消息队列中。必须深刻理解窗口、窗口类、窗口过程5、消息队列、消息循环和窗口消息是如

6、何相互配合的。2.HELLOWIN程序要建立一个窗口,首先需要注册一个窗口类,而窗口类又需要一个窗口过程来处理窗口消息。这些是几乎所有Windows程序都包括的一些常规而繁琐的步骤。HelloWin程序3.通盘考量实际上,每一个Windows程序代码中都包括HELLOWIN.C程序的大部分。没人能真正记住此程序的全部写法;通常,Windows程序写作者在开始写一个新程序时总是会复制一个现有的程序,然后再做相应的修改。这个程序,已经可以做很多操作。如:可以在系统菜单中执行所有选项(就是按下在标题栏最左端的小图标);也可以从系统菜单中选择Close选项,或者单击标题栏最右端的关

7、闭按钮,或者双击标题栏最左端的图标,来关闭窗口以终止程序的执行。(1)Windows函数调用HELLOWIN至少调用了18个Windows函数。下面以它们在HELLOWIN中出现的次序列出这些函数以及各自的简明描述:◆LoadIcon加载图标供程序使用。◆LoadCursor加载鼠标光标供程序使用。◆GetStockObject取得一个图形对象(这里是取得绘制窗口背景的画刷对象)。◆RegisterClass为程序窗口注册窗口类。◆MessageBox显示消息框。◆CreateWindow根据窗口类建立一个窗口。◆

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。