windows程序设计(二)---设备坐标和逻辑坐标

1.一个GDI文字输出函数:

    TextOut(hdc, x, y, psText, iLength);

2.windows定义了8中映像方式

上面函数中的x,y是坐标值,几乎所有的GDI函数中,这些坐标值所使用的均是逻辑单位,windows必须将逻辑单位转换为设备单位,即像素。这种转换是由映像方式、屏幕和视窗口的原点及范围所控制的。映像方式还指示着x轴及y轴的方向。

windows定义了8中映像方式:

映像方式   逻辑单位增加值
  x值                  y值
MM_TEXT像素 右                   下
MM_LOMETRIC0.1mm 右                   上   
MM_HIMETRIC0.01mm 右                   上     
MM_LOENGLISH0.01in 右                   上   
MM_HIENGLISH0.001in 右                   上   
MM_TWIPS1/1440 in 右                   上   
MM_ISOTROPIC任意(x=y)可选                可选
MM_ANSISOTROPIC任意(x!=y)            可选                 可选                  

 

可以使用函数SetMapMode(hdc, imapMode)来设置映像方式。

3. windows对所有消息(如:WM_MOVE, WM_SIZE...)对所有非GDI函数,甚至对一些GDI函数,永远使用设备坐标。

4. 所有的设备坐标系均是以像素为单位,X轴上的值从左到右,Y方向由上到下。

5. 【屏幕坐标】当我们使用整个屏幕时,就根据屏幕坐标进行操作,屏幕的左上角为(0, 0)点。屏幕坐标用在WM_MOVE(对于非子窗口)以及下列Windows函数中:CreateWindow, MoveWindow,GetWindowPos,GetCursorPos,SetCursorPos,GetWindowRect以及WindowFromPoint等。

5.【全窗口坐标】以程序的整个窗口为基准,这种坐标很少用到。

6.【显示区域坐标】点(0,0)是显示区域的左上角。用函数ClientToScreen可以将显示区域坐标转换为屏幕坐标,反过来ScreenToClient。也可以使用GetWindowRect函数取得屏幕坐标下的整个窗口的位置和大小。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值