如何在Windows环境下获得鼠标单击的坐标(相对于窗口)

在Windows环境窗口HWND ,如何获得鼠标在该窗口上的坐标?

编辑:抱歉的模糊。 我有一个HWND对象,我正在做一些图像分析。 我希望能够点击HWND对象内显示的图像上的一个点,并打印出我点击的x,y坐标,以及图像在x和y坐标处的一些属性

ScreenToClientClientToScreen功能在屏幕和客户端坐标系之间进行转换。 鼠标消息以客户端相对坐标传送到窗口。

但是,你的问题并不十分清楚,所以如果我没有提供你正在寻找的答案,请编辑你的问题,以解释你正在寻找什么。

答案的基础已经由David Heffernan给出了。 为了更完整,这是完整的程序:

每个窗口都有一个唯一的HWND ,它是内部数据结构的句柄。 除此之外,该结构还包含一个指向WindowProc (窗口过程)的函数指针。 此窗口过程负责处理消息,如WM_LBUTTONUP 。 每个窗口消息都有两个相关的参数,历史上称为lparamwparamWM_LBUTTONUPlparam参数包含所需的x和y坐标。 您可以通过GET_X_LPARAM(lparam)GET_Y_LPARAM(lparam)

Windows支持单个HWND的多个WindowProc的链接。 这被称为“子类”