我听说矩形,鼠标坐标和其他涉及绘图的东西都使用设备坐标。这是真的?有什么方法可以告诉我我是否有逻辑或设备坐标?
我可以查看给出坐标的函数文档,但有时它们没有明确说明这些是逻辑坐标还是设备坐标。例如,GetCursorPos
函数的文档说它“在屏幕坐标中检索鼠标光标的位置”。
我假设屏幕坐标与设备坐标相同?这是否意味着我必须将我从函数获得的屏幕坐标转换为客户端坐标?
答案 0 :(得分:1)
您知道屏幕左上角的坐标(0,0)
是什么。但是在绘制图表时,在纸面上,(0,0)
可能位于左下方,也可能位于图表绘图纸的中心。
默认情况下,逻辑和坐标以及物理/屏幕坐标相同,(0,0)指向左上角。但是如果你想从左下角到屏幕中间的某个地方绘制一条线,那么你会学到或正在练习的数学/三角学呢?那么,您可以将逻辑坐标系更改为您喜欢的内容。
您使用SetMapMode更改逻辑坐标系。您稍后可以使用LPtoDP
,DPtoLP
,ClientToScreen
,ScreenToClient
等进行映射,并将物理监视器用于您的窗口坐标映射。