怎么判断鼠标是否在窗口下

如何判断鼠标是否在窗口上
BOOL m_bMouseTracking; //设置一个状态量用于记录和标识鼠标是否在窗口内  
//处理鼠标移动消息  
void CXXXDlg::OnMouseMove(UINT nFlags,CPoint point)  
{  
//接收到WM_MOUSEMOVE,而m_bMouseTracking为假时,鼠标进入窗口。  
  TRACKMOUSEEVENT tme; //设置_TrackMouseEvent 
  tme.cbSize=sizeof(TRACKMOUSEEVENT); //监控鼠标离开  
  tme.dwFlags=TME_LEAVE;  
tme.hwndTrack=this->m_hWnd;
  if(::_TrackMouseEvent(&tme))  
  {  
  m_bMouseTracking=TRUE; //其他鼠标进入时的操作  
  } 
CDialog::OnMouseMove(nFlags, point);

...
以上代码 当鼠标在窗口上的控件(例如编辑框)时 也判断为mouseout状态 不知道怎么解决

------解决方案--------------------
GetCursorPos 判断坐标
------解决方案--------------------
PtInRect
------解决方案--------------------
void CAboutDlg::OnTimer(UINT nIDEvent) 
{
// TODO: Add your message handler code here and/or call default
CPoint pt;
GetCursorPos(&pt);
CRect rc;
GetWindowRect(&rc);
if(rc.PtInRect(pt))
{
afxDump << "in\n";
}
else
{
afxDump << "out\n";
}
//
CDialog::OnTimer(nIDEvent);
}
// in OnInitDialog():
SetTimer(1,200,0);