您的位置:首页 > 其它

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

2011-01-14 15:09 218 查看

逻辑坐标和设备坐标

在正常情况下如果窗口不能卷动,或者可以卷动但是未卷动,则这两种坐标是相同的。
窗口:我们程序所创建的那个可视的界面。
视口: 客户区也就是Client area的左上角(也称为视口原点)开始肉眼所能见的显示区域。
在窗口未卷动之前,窗口原点和视口原点是重叠的。但是当窗口向下卷动。此时窗口原点和视口原点就不同。视口原点还是原来的地方,但是窗口原点则被卷到了上方。(希望我这样讲能比较直观)。
相对于窗口原点的是逻辑坐标。而相对于视口原点的则为设备坐标。(注意我们之前讨论的设备坐标是以客户区域为参照的,另外还有以窗口为参照(包括非客户区域和以屏幕为参照,也就是通常的屏幕坐标))。
如果屏幕卷动了此时要得到正确的逻辑坐标就必须使用
OnPrepareDC();重设窗口原点和视口原点。
DPtoLP();
转换设备坐标为逻辑坐标。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: