1.窗口和消息总体概述
2.窗口
2.1窗口系统
1.窗口是平行于屏幕的矩形区域
2.窗口系统的原理是重叠窗口,各个窗口在屏幕上是相互重叠的
3.用户利用窗口系统可以同时进行好几样工作
2.2窗口的概念
1.窗口的组织:层次结构形式(树的行书)
2.根窗口(桌面窗口,占满整个屏幕 HWND_DESKTOP 这是minigui程序自己创建出来的 用于处理一些系统事务) --- 所有窗口的祖先
3.除了根窗口,所有窗口都有父窗口
4.父窗口可见,子窗口才可见
5.框架窗口(一般为根窗口的子窗口) = 客户区+非客户区(窗口系统管理的修饰区)
6.窗口的种类:主窗口 + 控件(子窗口) + 对话框
3.minigui的窗口
3.1主窗口
3.2窗口常用API
函数名称 | 用途 |
---|---|
UpdateWindow | 立即更新某个窗口 |
ShowWindow | 显示或隐藏某个窗口 |
IsWindowVisible | 判断某个窗口是否可见 控件和主窗口均可用 |
EnableWindow | 使能或禁止某个窗口 |
IsWindowEnabled | 判断某个窗口是否可用 |
GetClientRect | 获取窗口客户区矩形 |
GetWindowRect | 获取窗口矩形 屏幕坐标系中的窗口尺寸 |
GetWindowBkColor | 获取窗口背景色 |
SetWindowBkColor | 设置窗口背景色 |
GetWindowFont | 获取窗口默认字体 |
SetWindowFont | 设置窗口默认字体 |
GetWindowCursor | 获取窗口光标 |
SetWindowCursor | 设置窗口光标 |
rGetWindowStyle | 获取窗口风格 |
GetWindowExStyle | 获取窗口扩展风格 |
GetFocusChild | 获取拥有输入焦点的子窗口 |
SetFocusChild | 设置焦点子窗口 |
GetWindowCallbackProc | 获取窗口过程函数 |
SetWindowCallbackProc | 设置窗口过程函数 |
GetWindowAdditionalData | 获取窗口附加数据 |
SetWindowAdditionalData | 设置窗口附加数据一 |
GetWindowAdditionalData2 | 获取窗口附加数据二 对话框和控件在内部已使用附加数据二,保留附加数据一给应用程序使用 |
SetWindowAdditionalData2 | 设置窗口附加数据二 |
GetWindowCaption | 获取窗口标题 通常用于主窗口 |
SetWindowCaption | 设置窗口标题 |
InvalidateRect | 使窗口的给定矩形区域无效 将引发窗口重绘 |
GetUpdateRect | 获取窗口当前的无效区域外包矩形 |
ClientToScreen | 将窗口客户区坐标转换为屏幕坐标 |
ScreenToClient | 将屏幕坐标转换为客户区坐标 |
WindowToScreen | 将窗口坐标转换为屏幕坐标 |
ScreenToWindow | 将屏幕坐标转换为窗口坐标 |
IsMainWindow | 判断给定窗口是否为主窗口 |
IsControl | 判断给定窗口是否为控件 |
IsDialog | 判断给定窗口是否为对话框 |
GetParent | 获取窗口的父窗口句柄 主 窗 口 的 父 窗 口 永 远 为 HWND_DESKTOP |
GetMainWindowHandle | 返回包含某个窗口的主窗口句柄 |
GetNextChild | 获取下一个子窗口 用于遍历某个窗口的所有子窗口 |
GetNextMainWindow | 获取下一个主窗口句柄 用于遍历所有主窗口 |
GetHosting | 获取某个主窗口的托管窗口 |
GetFirstHosted | 获取某个主窗口的第一个被托管窗口 用于遍历某个主窗口的所有被托管窗口 |
GetNextHosted | 获取下一个被托管窗口 |
GetActiveWindow | 获取当前活动主窗口 |
SetActiveWindow | 设置当前活动主窗口 |
GetCapture> | 获取当前捕获鼠标的窗口 |
SetCapture | 捕获鼠标 |
ReleaseCapture | 释放鼠标 |
MoveWindow | 移动窗口或改变窗口大小 |
ScrollWindow | 滚动窗口客户区的内容,自 1.6.8 版 本 ,ScrollWindow 函数可根据客户区的滚动情况自动调整窗口内子窗口的位置。具体来说 , 当 子 窗 口所 在 位 置 在 ScrollWindow 第 二 个 传 入 参 数 指定的矩形内时,将相应调整子窗口位置;如果该参数为 NULL,则调整所有子窗口位置。 |