手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>C/C++>列表

Windows编程基础 - 设备对象属性

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

  表3-2-2 ScreenToClient 函数
用 途 将给定点的屏幕坐标转换为用户区坐标。
原 型
VOID ScreenToClient(
  HWND hWnd, 和用户区相关联的窗口句柄
  LPPOINT lpPoint 所指向的变量包含一个点的屏幕坐标值,并被转换后的用户区坐标值取代
);

3.4、映射方式
  影响在用户区绘图的一个主要设备对象属性是“映射方式”。他定义了Windows如何将GDI函数中使用的逻辑坐标映射为设备坐标。其他四个设备对象属性(窗口原点、视区原点、窗口范围和视区范围)都和映射方式密切相关。当Windows将逻辑单位转换为设备单位或象素时,映射方式、窗口原点和视区原点、窗口范围和视区反问决定着这种转换。映射方式也隐含了x轴坐标和y轴的原点和方向。在介绍各种映射方式之前,我们先介绍窗口和视口关系。

  3.4.1 窗口和视口
  视口是电脑屏幕上一块显示区域,随着在GDI中所使用的设备对象句柄的不同,该区域可是用户区、全窗口区或整个屏幕区,视区中的图像一设备单位定义。和视区中显示的图像相对应的原始图像区域称为窗口。注意,在这里使用的术语“窗口”不是指屏幕上显示的可视窗口对象。这里的“窗口”是从现实世界角度所看到图像,而“视区”是从数据世界角度而言的,是屏幕上的象素形成的图像。在Windows中,视区不是个裁剪区。图3-2和图3-3说明了窗口和视口的关系。

图3-2 营业收入曲线
图3-3 视区中显示的曲线

  映射方式指的是从“窗口”(逻辑坐标)到“视区”(设备坐标)的变换。“视区”采用设备坐标(象素数)。“窗口”采用逻辑坐标,他能够是象素数、毫米、英寸或任何其他单位。GDI函数使用逻辑坐标。
  将“窗口”(逻辑)坐标转换为“视区”(设备)坐标,使用如下两个映射方式:

xViewport = (xWindow - xWinOrg) * xViewExt / xWinExt xViewOrg
yViewport = (yWindow - yWinOrg) * yViewExt / yWinExt yViewOrg

  该公式将逻辑坐标系中的点(xWindow, yWindow)变换为设备坐标系中的点(xViewport, yViewport),其中,点(xWinOrg, yWinOrg)是以逻辑单位表示的“窗口”原点,而点(xViewOrg, yViewOrg)是以设备坐标表示的“视区”原点。在缺省情况下,这两个点被配置为(0, 0),但他们能够被改变。注意,逻辑点(xWinOrg, yWinOrg)总是被映射为设备点(xViewOrg, yViewOrg)。
  改变上述的公式为:

xWindow = (xViewport - xViewOrg) * xWinExt / xViewExt xWinOrg
yWindow = (yViewport - yViewOrg) * yWinExt / xViewExt yWinOrg

  该公式能够将视区坐标转换为窗口坐标。

  表3-3-1 DptoLP 函数
用 途 将设备点变换为逻辑点。
原 型

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

BOOL DPtoLP(
Google