第3章  Win32运行机制

第3章 Win32运行机制

  • 最近更新2018年09月21日

特殊说明:版权归个人所有,请勿转载,谢谢合作。

本章节主要讲解Win32编程中最重要的概念--消息机制,只有很好的了解消息机制,才能为Win32编程打下基础。

3.1 什么是窗口

窗口是用户与计算机最重要的交互部分,它是屏幕上的一个矩形区域,它接收用户的输入并以文字或图形的形式显示输入的内容。每当用户开始运行一个应用程序时,应用程序就创建并显示一个窗口,当用户操作窗口中的对象时,程序会作出相应反应。用户通过关闭一个窗口来终止一个程序的运行;通过选择相应的应用程序窗口来选择相应的应用程序。

当进入到Windows操作系统后,窗口无处不在,无时无刻都在与窗口打交道。桌面是一个窗口、开始按钮也一个窗口,包括使用的输入法也是一个窗口。标准的窗口包括:标题栏、菜单栏、Windows系统菜单、最小化按钮、最大化/恢复按钮、关闭按钮、窗口客户区、垂直滚动条和水平滚动条,如图3.1所示。

  • 图3.1 标准窗口

 

在Windows操作系统中,常见的窗口有三种类型,对话框窗口、文档窗口以及特殊窗口。

对话框窗口分为两种:模式对话框窗口与无模式对话框窗口。模式对话框窗口也称为模态对话框窗口,是指用户在Win32应用程序的对话框中,想要对对话框以外的应用程序进行操作时,必须先对该对话框进行响应,如单击【确定】或【取消】按钮等操作,将该对话框关闭。相对应的另一个对话框是无模式对话框,即可以在不关闭当前的对话框窗口的情况下操作其他窗口。

文档窗口分为两种:单文档窗口与多文档窗口。在Windows操作系统中,记事本是典型的单文档窗口,即同一时间,只能对单一的文档中的内容进行操作;而word则是典型的多文档窗口,即同一时间,可以在word中编辑不同的文档内容。当然前面提到的单一与多个,指的是单一进程内的操作。

特殊窗口,给操作系统添加了很多不平凡,让窗口展示出个性的一面。例如,常见的搜狗输入法,即为一个特殊窗口,特殊窗口可能没有标题栏、最大化或最小化功能等标准窗口的组成部分,但也为用户提供着各种各样的服务。

一个应用程序中,各个窗口之间存在着一定的关系,它们有父子关系也有兄弟关系,以常见的Excel为例,如图3.2所示。

  • 图3.2 Excel窗口

在图3.2中,Excel是一个窗口,而Excel中的“Book1”与“Book2”同样是窗口。Excel则是“Book1”与“Book2”的父窗口;“Book1”与“Book2”是Excel的子窗口;而“Book1”与“Book2”是兄弟关系,谁是兄,谁是弟,取决于子窗口的创建,先创建为兄,后创建为弟。但需要注意的是,一个子窗口有且只有一个父窗口,而一个父窗口可以有多个子窗口。

 

在Win32程序中,窗口的坐标与数学上的坐标有所不同,X坐标是从左向右,而Y坐标则是从上至下,Y坐标与数学中的坐标正好相反,而且数值为正数,如图3.3所示。

  • 图3.3 窗口坐标
分享到 :
相关推荐

发表回复

登录... 后才能评论