捐助郴维网
感谢您对郴维网的支持,你的支持将是郴维网持续发展的动力!
二维码
×
当前位置:郴维网 >扩展阅读 > 正文
7 2017.06

设备坐标系统

点击次数:1198 更新时间:2017-6-7 21:45:30  【打印此页

Windows 会将 GDI 函数中指定的逻辑坐标转换为设备坐标。在我们讨论用于各种映射模式的逻辑坐标系统之前,首先介绍一下 Windows 为视频显示器定义的三种设备坐标系统。在大多数情况下,我们都在窗口的客户区内工作(默认设备坐标系统),但是在某些特殊情况下,Windows 还使用另外两种设备坐标系统。尽管如此,在所有的设备系统中,单位都是以像素的形式表示的。水平方向上 x 值从左向右增加,垂直方向上 y 值从上往下增加。

当我们使用整个屏幕时,我们是以“屏幕坐标”(screen coordinate)的形式工作的。以屏幕左上角为点 (0, 0)。屏幕坐标用于 WM_MOVE 消息(对非子窗口)和下列的 Windows 函数中:CreateWindow 和 MoveWindows(对非子窗口)、GetMessagePos、GetCursorPos、SetCursorPos、GetWindowRect 和 WindowFromPoint。(这并不是一个完整的清单)这些函数一般分两类:一类是与窗口无关的函数(例如两个和鼠标指针相关);另一类是必须根据屏幕上的点移动或寻找窗口的函数。如果使用带“DISPLAY”参数的 CreateDC 函数来获取整个屏幕的设备环境,那么在 GUI 调用中,逻辑坐标值将默认映射到屏幕坐标。

“全窗口”坐标指的是一个应用程序的整个应用窗口,包括标题栏、菜单、滚动条和边框。对一个普通的应用窗口,点 (0, 0) 是边框的左上角。全窗口坐标在 Windows 中很少用,但是如果设备环境是从 GetWindowDC 函数获取的,则在 GDI 函数调用中,逻辑坐标会被默认映射为全窗口坐标。

第三种设备坐标系统(也是我们最常使用的坐标系统)是“客户区坐标”。点 (0, 0) 是客户区左上角。调用 GetDC BeginPaint 函数获取设备环境时,在 GDI 函数中的逻辑坐标将被默认转换为客户区坐标。

可以使用 ClientToScreen 函数将客户区坐标转换到屏幕坐标,反之,调用 ScreenToClient 函数把屏幕坐标转换到客户区坐标。也可以调用 GetWindowRect 函数以屏幕坐标的形式获取整个窗口的位置和大小。这三个函数为把任何一种设备坐标转换为另一种设备坐标提供了足够的信息。

Tips
郴维网为您提供各类专业服务:
软件开发,电脑配件销售,WIFI路由器销售,上门电脑维修,上门安装系统,系统安装,软、硬件安装,电脑除尘清灰,显示器维修,WIFI安装调试,服务器维护,数据恢复,密码破解,网络布线,网络检修,打印机维修,打印机加碳粉,苹果电脑安装系统,苹果电脑安装双系统,监控安装维护,电脑外包,笔记本电脑维修,餐饮、美容行业软件安装 等。。。。。。
点击次数:1198 更新时间:2017-6-7 21:45:30  【打印此页

上一条:设备坐标和逻辑坐标

下一条:已经是最后一篇了

关键词推荐:郴州电脑城 郴州电脑维修公司 维修电脑公司 郴州软件开发 上门电脑维修 上门安装系统 笔记本电脑维修 郴州打印机维修 打印机加碳粉 电脑安装双系统 苹果电脑双系统 液晶显示器维修 联想笔记本维修 联想笔记本维修电话 戴尔笔记本维修电话 郴州戴尔笔记本维修 戴尔笔记本郴州维修点 华硕笔记本维修点 郴州华硕笔记本维修 郴州笔记本上网维修