窗口是Windows应用程序中的一个非常重要的元素,一个Windows应用程序至少要有一个窗口,称为主窗口。窗口是屏幕上的一块矩形区域,是Windows应用程序与用户进行交互的接口。利用窗口,可以接收用户的输入,以及显示输出。
一个应用程序窗口通常都包含标题栏,菜单栏,系统菜单,最小化框,最大化框,可调边框,有的还有滚动条。
窗口可以分为客户区和非客户区,客户区是窗口的一部分,应用程序通常在客户区显示文字或者是绘制图形。标题栏,菜单栏,系统菜单,最小化框和最大化框,可调边框统称为窗口的非客户区,他们有WIndows系统来管理,而应用程序则主要管理客户区的外观及操作。
窗口可以有一个父窗口,有父窗口的窗口称为子窗口。对话框和消息框也是一种窗口,在对话框上通常还包含许多子窗口,这些子窗口的形式有按钮,单选按钮,复选框,祖匡,文本编辑框等。
其实我们在启动Windows系统之后,看到的桌面也是一个窗口,称为桌面窗口,他由Windows系统创建和管理。
在Windows应用程序当中,窗口是通过窗口句柄(HWND)来标识的。我们要对某个窗口进行操作,首先就要得到这个窗口的句柄。句柄(HWND)是Windows程序中一个重要的概念,使用也非常频繁。在Windows程序中,有各种各样的资源(窗口,图标,光标等),系统在创建这些资源的时候会为他们分配内存,并返回标识这些资源的标识号,即句柄。比如:图标句柄(HICON)、光标句柄(HCURSOR)和画刷句柄(HBRUSH)