VC 判读鼠标是否在指定窗口上

使用的函数:WindowFromPoint()SetCapture()ReleaseCapture()

void Cxxx :: OnMouseMove ( UINT nFlags , CPoint point )
{
CButton :: OnMouseMove ( nFlags , point );
m_bOver = true ;
SetCapture ();
//将鼠标捕获设置到指定的窗口。在鼠标按钮按下的时候,
//这个窗口会为当前应用程序或整个系统接收所有鼠标输入
POINT p2 = point ;
ClientToScreen (& p2 );
CWnd * wfp = WindowFromPoint ( p2 ); //从鼠标位置获取窗口句柄
if ( wfp && wfp -> m_hWnd != this -> m_hWnd )
{
m_bOver = FALSE ;
ReleaseCapture (); //为当前的应用程序释放鼠标捕获
}
Invalidate ();
}
 
来自:http://www.cppblog.com/nenlong/archive/2007/03/14/19825.html

你可能感兴趣的:(VC 判读鼠标是否在指定窗口上)