窗口分类.PNG
1.窗口的类型
- 窗口(window):“窗口”是屏幕上显示出来的,与一个应用程序相对应的矩形区域。屏幕中显示出窗口,表示该窗口对应的应用程序正在运行中。
- 对话框(dialog box):对话框分为模态对话框和非模态对话框,在图形用户界面中,对话框是一种特殊的窗口, 用来在用户界面中向用户显示信息,或者在需要的时候获得用户的输入响应,是人机交流的一种方式。
- Windows桌面窗口:这是Windows中十分独特的窗口,除了客户区,没有其它的组成部分。
- 消息框(messagebox):消息框是弹出模式对话框(预制的模态对话框),用于给用户显示文本消息,比如提示或警告。在WIN32中,用MessageBox函数创建。
2.各类窗口特点
- 其中标准窗口,例如“我的电脑”窗口,各种文件夹窗口,许多应用程序窗口(Word等),这些窗口有共同的特征,都能改变大小,窗口一般由标题栏,菜单栏,工具栏,状态栏,窗口边框,滚动条和客户区组成。
- 对话框窗口,不能改变窗口的大小,一般其中都放置有Windows的多种控件,比如:命令按钮、编辑框、组合框、输入框、单选按钮、复选按钮等,有些应用程序的主窗口使用的就是对话框,比如各种杀毒软件,当作为应用程序的主界面时,经常添加菜单栏和工具栏。一般有:标题栏、客户区和边框组成。
- Windows桌面窗口,这是Windows中十分独特的窗口,除了客户区,没有其它的组成部分。
- 外观不同:
对话框的内部不会包含太多不同的元素,只会有简单的选项或者是确认、取消、关闭等按钮,在右上方只有一个关闭按钮。窗口中则会包含许多不同的元素,还可以自由调节窗口内的UI,调整它们的大小、颜色图形等等。可以自行调节大小,甚至可以全屏显示,在右上方还会同时有最小化、最大化和关闭三个按钮。- 从操作系统实现角度,对话框是特殊的窗口(window)。特殊之处不在于对话框会包含一些控件(如按钮、编辑框、下拉列表框等),因为一般的窗口也可以包含这些控件。特殊性在于,对话框的这些控件是用来与用户交互的,所以有一些约定的使用规则:
①Tab Order:按下Tab键或上、下、左、右方向键,各个控件依次获得输入焦点。
②如果一个按钮获得输入焦点,这时按下空格键或者回车键,相当于鼠标左键点击了该按钮。
对话框的默认窗口过程在处理有关的按键消息时,会自动解析处理上述使用规则。而一般窗口的窗口过程,没有这些缺省的案件消息处理。
3.模态对话框(model dialog box)与非模态对话框(modeless dialog box)的区别
- 使用中的区别:模式对话框创建后,程序的其他窗口便不能进行操作,必须将该窗口关闭后,其他窗口才能进行操作。这种对话框设计用于程序运行必须停下来,直到从用户获得一些额外的信息,然后才可以继续进行的操作,或可能只想确认使用者想要进行一项具有潜在危险性的操作。
而非模式对话框则无需这样,它不强制要求用户立即反应,而是与其他窗口同时接受用户操作。这类无模式对话框表现为工具栏。- 创建的区别:在WIN32中,模式对话框的创建一般是使用DialogBox来进行创建的,而非模式对话框则是利用CreateWindow来创建的。
- 消息响应的区别:在消息响应方面,模式对话框和非模式对话框之间又有着很大的区别。模式对话框工作的时候,它有内部的消息泵机制,控件之间的交互不用我们人为的去控制,系统会帮助我们去处理。
非模式对话框则像普通窗口一样,则由WinMain中书写的消息循环驱动。但由于是对话框,它对一些消息有特殊的处理。因此,在消息循环中,需要先对对话框提供截获消息的机会。- 销毁的区别:模式对话框的销毁是使用EndDialog,而非模式对话框的销毁是使用DestroyWindow.。