1
不完全熟悉用C++編寫圖形用戶界面,而且我遇到了一個問題,即在移動/拖動應用程序窗口後,我的程序不會響應鼠標左鍵單擊。我該怎麼做才能使它正常工作?下面是我如何處理回調函數中的左鍵單擊消息:點擊窗口移動後的座標
case WM_LBUTTONDOWN:
{
POINT point;
GetCursorPos(&point);
break;
}
不完全熟悉用C++編寫圖形用戶界面,而且我遇到了一個問題,即在移動/拖動應用程序窗口後,我的程序不會響應鼠標左鍵單擊。我該怎麼做才能使它正常工作?下面是我如何處理回調函數中的左鍵單擊消息:點擊窗口移動後的座標
case WM_LBUTTONDOWN:
{
POINT point;
GetCursorPos(&point);
break;
}
鼠標位置作爲LPARAM包含在消息中。
POINT point;
point.x = GET_X_LPARAM(lParam);
point.y = GET_Y_LPARAM(lParam);
截至MSDN記載,該點是相對於該客戶區的左上角。因此,如果您移動窗口,point
仍然會相對於您的窗口。
GetCursorPos獲取光標在屏幕座標中的位置。所以你必須補償你的窗口在屏幕上的位置以獲得可用的位置。
郵政編碼,實際上再現此問題。 –