由於某些原因,使用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