Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将屏幕鼠标坐标转换为窗口坐标_C++_Windows_Winapi_Coordinate Transformation_Mouse Coordinates - Fatal编程技术网

C++ 将屏幕鼠标坐标转换为窗口坐标

C++ 将屏幕鼠标坐标转换为窗口坐标,c++,windows,winapi,coordinate-transformation,mouse-coordinates,C++,Windows,Winapi,Coordinate Transformation,Mouse Coordinates,这是我上一个问题的继续-> 我想在桌面上的特定窗口中绘制鼠标,我已经知道如何绘制鼠标以及如何跟踪真实鼠标的移动。 但我无法转换屏幕坐标,下面是我想做的示例: 当真实鼠标位于左上角0,0时,绘制的鼠标位于我的特定窗口的0,0,当真实鼠标位于右下角1600900时,绘制的鼠标位于我的特定窗口的700400 如果有人不完全理解问题,我将重新解释 提前感谢。您需要根据窗口尺寸缩放鼠标位置 设DX和DY为桌面大小。让WX和WY成为您的窗口大小。设(Dmx,Dmy)为桌面上原始鼠标位置的坐标。然后,根据您的

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

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


提前感谢。

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

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