随着Windows环境中的窗口,HWND
,你如何获得该窗口上点击鼠标的坐标?如何让鼠标点击的坐标(相对于窗口),在Windows环境
编辑:抱歉的模糊。我有一个HWND对象,我正在做一些图像分析。我希望能够点击一个当场HWND对象中显示的图像上,并打印出X,我点击的y坐标,以及在图像的x部分和y坐标
随着Windows环境中的窗口,HWND
,你如何获得该窗口上点击鼠标的坐标?如何让鼠标点击的坐标(相对于窗口),在Windows环境
编辑:抱歉的模糊。我有一个HWND对象,我正在做一些图像分析。我希望能够点击一个当场HWND对象中显示的图像上,并打印出X,我点击的y坐标,以及在图像的x部分和y坐标
功能ScreenToClient
和ClientToScreen
在屏幕和客户端坐标系之间进行转换。鼠标消息以客户端相对坐标传送到窗口。
然而,你的问题是不是非常清楚,所以如果我不提供你正在寻找的答案,请编辑您的问题解释你寻找什么。
答案的基础知识已由David Heffernan给出。为了更完整,这是完整的程序:
每个窗口都有一个唯一的HWND
,这是一个句柄的内部数据结构。除此之外,该结构还包含指向WindowProc
(窗口过程)的函数指针。此窗口过程负责处理消息,如WM_LBUTTONUP
。每个窗口消息都有两个相关的参数,历史上称为lparam
和wparam
。 WM_LBUTTONUP
的lparam
参数包含您想要的x和y坐标。您可以通过GET_X_LPARAM(lparam)
检索它们和GET_Y_LPARAM(lparam)
的Windows支持的多WindowProc
单个HWND
的链接。这被称为"subclassing"
对不起,我编辑了问题 – apple 2011-02-04 19:06:24