2011-02-04 101 views
1

随着Windows环境中的窗口,HWND,你如何获得该窗口上点击鼠标的坐标?如何让鼠标点击的坐标(相对于窗口),在Windows环境

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

回答

2

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

然而,你的问题是不是非常清楚,所以如果我不提供你正在寻找的答案,请编辑您的问题解释你寻找什么。

+0

对不起,我编辑了问题 – apple 2011-02-04 19:06:24

1

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

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

的Windows支持的多WindowProc单个HWND的链接。这被称为"subclassing"