【问题标题】:Convert screen mouse coordinate to window coordinate将屏幕鼠标坐标转换为窗口坐标
【发布时间】:2012-06-06 16:37:02
【问题描述】:

这是我上一个问题的继续 -> Draw mouse pointer icon? 我想在桌面上的特定窗口中绘制鼠标,我已经知道如何绘制鼠标以及如何跟踪真实鼠标的移动。 但我无法转换屏幕坐标,这是我想要做的示例: 当 REAL 鼠标位于左上角 0,0 时,DRAWN 鼠标位于我的特定窗口的 0,0,当 REAL 鼠标位于右下角 1600,900 时,DRAWN 鼠标位于我的特定窗口的 700,400特定窗口。

如果有人不完全理解问题,我会重新解释。

提前致谢。

【问题讨论】:

    标签: c++ windows winapi coordinate-transformation mouse-coordinates


    【解决方案1】:

    您需要根据窗口尺寸缩放鼠标位置。

    设 DX 和 DY 为桌面大小。让 WX 和 WY 成为您的窗口大小。让 (Dmx,Dmy) 是原始鼠标位置 w.r.t 桌面的坐标。然后根据您的要求,您的鼠标在窗口中的位置将是 (Dmx/DX * WX, Dmy/DY * WY)。编码时,请记住确保除法是用浮点数进行的。

    【讨论】:

      猜你喜欢
      • 2011-04-30
      • 1970-01-01
      • 2011-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多