文件名称:窗口和消息-em78p153 c语言范例
文件大小:5.55MB
文件格式:PDF
更新时间:2024-06-22 11:40:59
Windows
第三章 窗口和消息 在前两章,程序使用了同一个函数MessageBox来向使用者输出文字。MessageBox函数会建 立一个「窗口」。在Windows中,「窗口」一词有确切的含义。一个窗口就是屏幕上的一个矩形区域, 它接收使用者的输入并以文字或图形的格式显示输出内容。 MessageBox函数建立一个窗口,但这只是一个功能有限的特殊窗口。消息窗口有一个带关闭 按钮的标题栏、一个选项图标、一行或多行文字,以及最多四个按钮。当然,必须选择Windows 提供给您的图标与按钮。 MessageBox函数非常有用,但下面不会过多地使用它。我们不能在消息框中显示图形,而且 也不能在消息框中添加菜单。要添加这些对象,就需要建立自己的窗口,现在就开始。 自己的窗口 建立窗口很简单,只需呼叫CreateWindow函数即可。 好啦,虽然建立窗口的函数的确名为CreateWindow,而且您也能在/Platform SDK/User Interface Services/Windowing/Windows/Window Reference/Window Functions找到此文 件,但您将发现CreateWindow的第一个参数就是所谓的「窗口类别名称」,并且该窗口类别连接 所谓的「窗口消息处理程序」。在我们呼叫CreateWindow之前,有一点背景知识会对您大有帮助。 总体结构 进行Windows程序设计,实际上是在进行一种对象导向的程序设计(OOP)。这一点在 Windows中使用得最多的对象上表现最为明显。这种对象正是Windows之所以命名为「Windows」 的原因,它具有人格化的特征,甚至可能会在您的梦中出现,这就是那个叫做「窗口」的东西。 桌面上最明显的窗口就是应用程序窗口。这些窗口含有显示程序名称的标题栏、菜单甚至可能 还有工具列和滚动条。另一类窗口是对话框,它可以有标题栏也可以没有标题栏。 装饰对话框表面的还有各式各样的按键、单选按钮、复选框、清单方块、滚动条和文字输入区 域。其中每一个小的视觉对象都是一个窗口。更确切地说,这些都称为「子窗口」或「控件窗口」 或「子窗口控件」。 作为对象,使用者会在屏幕上看到这些窗口,并通过键盘和鼠标直接与它们进行交互操作。更 有趣的是,程序写作者的观点与使用者的观点极其类似。窗口以「消息」的形式接收窗口的输入, 窗口也用消息与其它窗口通讯。对讯息的理解将是学习如何写作Windows程序所必须越过的障碍之 一。 这有一个Windows的消息范例:我们知道,大多数的Windows程序都有大小合适的应用程序 窗口。也就是说,您能够通过鼠标拖动窗口的边框来改变窗口的大小。通常,程序将通过改变窗口 中的内容来响应这种大小的变化。您可能会猜测(并且您也是正确的),是Windows本身而不是应 用程序在处理与使用者重新调整窗口大小相关的全部杂乱程序。由于应用程序能改变其显示的样 子,所以它也「知道」窗口大小改变了。 应用程序是如何知道使用者改变了窗口的大小的呢?由于程序写作者习惯了往常的文字模式