Win32 API 窗口管理

来源:互联网 发布:mac装双系统怎么切换 编辑:程序博客网 时间:2024/05/21 19:31
窗口管理
       窗口管理功能允许应用程序创建和管理用户界面。你可以用窗口管理功能创建和使用窗口为用户的输入显示输出或提示,也可以执行那些需要支持与用户交互功能的任务。大多数的应用程序至少创建一个窗口。
       应用程序通过创建窗口类和窗口过程来定义窗口的一般行为和外观。窗口类确定窗口默认的特征,例如窗口是否可以处理鼠标的双击,是否可以有一个菜单。窗口过程包含定义窗口行为,执行被要求的任务和处理用户输入的代码。
       应用程序利用图形设备接口函数(Graphics Device Interface,GDI)为窗口生成输出。由于所有的窗口共享同一块显示屏幕,应用程序不会接受对整个屏幕的访问请求。系统管理所有的输出,为了让输出适应相应的窗口,系统会对输出做对齐和剪贴的操作。为了响应系统的要求或处理输入的信息,应用程序会在窗口内作图。当窗口的尺寸或位置发生改变时,系统会代表性地给应用程序发送一条消息,要求它重绘之前窗口未暴露的区域。
       应用程序以消息的形式接受鼠标和键盘的输入。系统把鼠标移动,鼠标点击次数和键盘单击次数转换成输入消息,并把这些消息放在应用程序的消息队列中。系统为每个应用程序自动提供一个消息队列。应用程序利用消息函数从消息队列中提取消息,然后把消息分配给合适的窗口过程进行处理。
       应用程序可以直接直接处理鼠标和键盘的输入,也可以让系统把这些低级别的输入通过使用菜单和快捷键转换成控制消息。你可以用菜单为用户提供一系列控制命令。系统管理所有让用户选择控制命令的操作,然后会给窗口程序发送一条消息标识。快捷键是程序定义的击键组合,系统也可以把它转换成相应的消息。快捷键相当于菜单中的控制命令,可以产生与之相同的消息。
       应用程序通过为用户提示附加信息的对话框来响应命令消息。对话框是一种临时的窗口,可以用来显示信息或者获取输入的信息。对话框通常包括一些控件(小的,单个的目的窗口),代表性的是按钮和编辑框,用户可以利用这些控件做选择或是输入信息。还有些控件可以用来输入文本,滚动文本,从项目列表中选择项目等。对话框对这些由控件输入的信息进行管理和处理,使这些信息对应用程序有效,以便于应用程序完成要求的命令。
你可以把一些有用的数据,例如位图,图标,字体和字符串添加到应用程序的资源文件中,应用程序通过资源函数可以检索到这些数据的位置,然后把它们载入到内存。
       窗口管理功能还提供其它有关窗口的一些特性,例如插入符,剪贴板,光标,钩子,图标和菜单。