Mur.

难以理解

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

 

逻辑坐标和设备坐标

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

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

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

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

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

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

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

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

 

阅读更多
个人分类: MFC
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

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

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭