在窗口移动后单击坐标 < >不完全熟悉C++中的编程GUI,而不知道什么,我遇到了一个问题,在移动/拖动应用程序窗口后,程序不会对鼠标左键单击作出响应。我应该怎么做才能使它正常工作?下面是我如何处理回调函数中的左键单击消息: case WM_LBUTTONDOWN: { POINT point; GetCursorPos(&point); break; }

在窗口移动后单击坐标 < >不完全熟悉C++中的编程GUI,而不知道什么,我遇到了一个问题,在移动/拖动应用程序窗口后,程序不会对鼠标左键单击作出响应。我应该怎么做才能使它正常工作?下面是我如何处理回调函数中的左键单击消息: case WM_LBUTTONDOWN: { POINT point; GetCursorPos(&point); break; },c++,windows,click,mouse,C++,Windows,Click,Mouse,鼠标位置作为LPRAM包含在消息中 POINT point; point.x = GET_X_LPARAM(lParam); point.y = GET_Y_LPARAM(lParam); 如中所述,该点相对于客户端区域的左上角。因此,如果移动窗口,点仍将相对于窗口 获取光标在屏幕坐标中的位置。因此,您必须补偿窗口在屏幕上的位置,以获得可用的位置。鼠标位置作为LPRAM包含在消息中 POINT point; point.x = GET_X_LPARAM(lParam); point.y = G

鼠标位置作为LPRAM包含在消息中

POINT point;
point.x = GET_X_LPARAM(lParam);
point.y = GET_Y_LPARAM(lParam);
如中所述,该点相对于客户端区域的左上角。因此,如果移动窗口,
仍将相对于窗口


获取光标在屏幕坐标中的位置。因此,您必须补偿窗口在屏幕上的位置,以获得可用的位置。

鼠标位置作为LPRAM包含在消息中

POINT point;
point.x = GET_X_LPARAM(lParam);
point.y = GET_Y_LPARAM(lParam);
如中所述,该点相对于客户端区域的左上角。因此,如果移动窗口,
仍将相对于窗口


获取光标在屏幕坐标中的位置。因此,您必须补偿窗口在屏幕上的位置,以获得可用位置。

实际再现此问题的Post代码。实际再现此问题的Post代码。