MicroWindows体系结构及应用程序接口
窗口创建后产生WM_CREATE消息,删除产生WM_DESTROY消息。
3.3 窗口的显示、隐藏和移动
ShowWindow函数指定窗口是否可见。MoveWindow改变窗口的位置和大小。窗口位置改变时,产生WM_MOVE消息;窗口大小改变时,产生WM_SIZE消息。
3.4 窗口的绘制
窗口绘制时产生WM_PAINT消息。窗口的标题栏自动绘制,设置属性使用SetWinowText,察看属性使用GetWindowText。
(1)实虚屏切换
窗口绘制使用的坐标系统是屏幕上的绝对坐标系,MicroWindows API使用的是相对坐标系。GetClientRect和GetWindowRect函数各自返回虚屏和实屏的坐标值。
(2)Device Contexts
调用图形API之间要包含device context。它指定系统所使用的窗口和坐标系,同时还定义系统默认的前景色和背景色。
GetDC用来包含device context。在画标题栏还需调用GetWindowDC。GetDCEx定义子/兄弟窗口的裁剪操作。绘制结束时调用ReleaseDC释放DC。
(3)图形API
见网络补充版(http://www.dpj.com.cn)
3.5 其它实用函数
WndSetDesktopWallpaper 设置桌面的背景图片
WndSetCursor 为窗口创建光标
WndRaiseWindow 拉伸窗口
WndLowerWindow 缩小窗口
WndGetTopWindow 返回最上层窗口的句柄
Sleep 睡眠
(1)设置窗口中心
WM_SETFOCUS和WMKILLFOCUS分别用于获取/删除中心。GetActiveWindow返回ancestor窗口,GetDesktopWINDOW返回当前桌面窗口的句柄。
(2)鼠标捕获
WM_MOUSEMOVE用来表示鼠标被移动。SetCapture获取全部的鼠标移动信息,ReleaseCapture返回到程序,GetCaptrue返回到捕获区域。
(3)区域管理
SetRect 定义一个矩形结构
SetRectEmpty 定义一个空矩形
CopyRect 复制一个矩形
IsRectEmpty 为空矩形时返回TRUE
InflateRect 放大矩形
OffsetRect 移动矩形
PtInRect 判断点是否在矩形区内
4 Nano-X API
(1)Client/Server模型
Nano-X允许应用程序使用Client/Server网络协议或本地UNIX Domain Socket,可让几个应用程序运行在嵌入式设备或远端主机上,并连接到Server上显示出来。
(2)窗口的创建和删除
Nan0-X中使用GrNewWindow创建窗口。GrNewInputWindow定义窗口只允许用来输入。函数定义了窗口的边界和颜色。
(3)窗口的显示、隐藏和移动
GrMapWindow用来显示窗口,GrUnmapWindow用来隐藏,GrRaiseWindow用来拉伸,GrLowerWindow用来缩小,GrMoveWindow用来移动,GrResizeWindow用来改变窗口大小。
(4)窗口中的绘制
①Graphics Context。GrNewGC用来分配graphics Context,删除时使用GrDestroyGC,GrCopyGC用来复制。创建一个Graphics Context后,服务器返回一个Graphics Context的ID,用来作为API的参数。GC中不存放裁剪区和系统坐标系。
②绘图API。见补充版(http://www.dpj.com.cn)。