今天晚上对以前的一个程序进行改进,使它增加滚动查看功能.终于弄明白了逻辑坐标和设备坐标的区别和联系,并能够用DPtoLP和LPtoDP进行转换了~_*
逻辑坐标就是文档的坐标,设备坐标就是视图的坐标.视图就是响应消息和查看文档用的.
文档一般比视图大,视图只能够查看一部分文档,拖动滚动条,在视图中显示的那部分文档改变了,所以此时的鼠标下面的逻辑坐标也跟着改变了;我的理解是设备坐标不改变,除非你移动窗口了,或者改变视图的位置~_*
是不是这样呢?希望大家和我一起探讨~~~
在没有拖动滚动条的时候,逻辑坐标和设备坐标是一致的,一拖动滚动条,逻辑坐标相对于设备坐标有了位移.有对应的计算公式,这里我就不给出来了,可以去查书.