2011-02-04 100 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"