由于某些原因,使用SetCapture函数会导致PtInRect()函数无效!Setcapture导致PtInRect故障?
下面是一些代码:
POINT curmouse;
RECT testrect = {0, 0, 200, 200};
WM_LBUTTONDOWN:
if (MK_LBUTTONDOWN == true)
SetCapture(hWnd);
break;
WM_MOUSEMOVE:
curmouse.x = LOWORD(lParam);
curmouse.y = HIWORD(lParam);
WM_LBUTTONUP:
if (PtInRect(&testrect , curmouse))
//Draw Image
请注意:我没有拨打电话以释放WM_LBUTTONUP捕获。事实上,releasecapture从来没有被称为!
如果我没有调用setcapture,那么ptinrect在鼠标释放时按预期工作。
有人可以告诉我如何得到ptinrect与setcapture()被调用?
最重要的是,这个程序中有两个独立的窗口。第一个窗口名为bg_window,第二个窗口名为other_window。
您将鼠标捕捉到哪个窗口?捕获鼠标时获得的坐标将与捕获鼠标的窗口的客户区相关。 – 2013-03-18 23:41:00