MFC何时使用逻辑/设备坐标

mfc when to use logical/device coordinates

本文关键字:设备坐标 何时使 MFC      更新时间:2023-10-16

我听说过矩形,鼠标的坐标以及涉及绘制所有使用设备坐标的其他事物。这是真的?有什么方法可以告诉我我是否具有逻辑或设备坐标?

我可以查看给我坐标的功能文档,但有时他们没有明确说出这些是逻辑或设备坐标。例如,GetCursorPos函数的文档表示"检索鼠标光标的位置,在屏幕坐标中"。

我假设屏幕坐标与设备坐标相同吗?这是否意味着我必须将我从功能获得的屏幕坐标转换为客户端坐标?

您知道屏幕左上角的坐标(0,0)是什么。但是在纸上绘制图表时,(0,0)可能位于左下角或图形绘制纸的中心。

默认情况下,逻辑和坐标以及物理/屏幕坐标是相同的,(0,0)点位于左上。但是,如果您想在屏幕中间从左下到某个地方绘制一条线,那与您学到或正在练习的数学/三角学相匹配,该怎么办?好吧,您转向将逻辑坐标系更改为您喜欢的东西。

您将使用setMapMode更改逻辑坐标系。您稍后可以使用LPtoDPDPtoLPClientToScreenScreenToClient等进行映射,用于物理监视器的窗口坐标映射。

关于坐标空间和转换