关闭

逻辑坐标和设备坐标概念粗解!

460人阅读 评论(0) 收藏 举报

 

逻辑坐标和设备坐标

在正常情况下如果窗口不能卷动,或者可以卷动但是未卷动,则这两种坐标是相同的。

窗口:我们程序所创建的那个可视的界面。

视口: 客户区也就是Client area的左上角(也称为视口原点)开始肉眼所能见的显示区域。

在窗口未卷动之前,窗口原点和视口原点是重叠的。但是当窗口向下卷动。此时窗口原点和视口原点就不同。视口原点还是原来的地方,但是窗口原点则被卷到了上方。(希望我这样讲能比较直观)

相对于窗口原点的是逻辑坐标。而相对于视口原点的则为设备坐标。(注意我们之前讨论的设备坐标是以客户区域为参照的,另外还有以窗口为参照(包括非客户区域和以屏幕为参照,也就是通常的屏幕坐标))。

如果屏幕卷动了此时要得到正确的逻辑坐标就必须使用

OnPrepareDC();重设窗口原点和视口原点。

DPtoLP(); 转换设备坐标为逻辑坐标。

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:32965次
    • 积分:675
    • 等级:
    • 排名:千里之外
    • 原创:32篇
    • 转载:0篇
    • 译文:0篇
    • 评论:4条
    文章分类
    最新评论