除了用ptInRect判断点是否在这个窗体内和通过WindowFromPoint获得点所在的窗体这两个方法之外。

解决方案 »

  1.   

    处理几个消息吧:void CXXXDlg::OnLButtonDown(UINT nFlags, CPoint point)
    {
       SetCapture();
       CDialog::OnLButtonDown(nFlags, point);
    }void CXXXDlg::OnLButtonUp(UINT nFlags, CPoint point)
    {
       ReleaseCapture();
       CDialog::OnLButtonUp(nFlags, point);
    }void CXXXDlg::OnMouseMove(UINT nFlags, CPoint point)
    {
       HWND hWnd = WindowFromPoint(point);
       if( hWnd != NULL && ::IsWindow(hWnd) )
       {
          TCHAR szText[256];
          ::GetWindowText(szText, 256);
          TRACE("Captured window:%s\n", szText);
       }
      
    }用法:当鼠标在你自已的对框时,按住鼠标左键不要松开,然后将鼠标移动到其它窗口之上时VC的调试窗口会输出捕获到的窗口名.
      

  2.   

    ::GetWindowText(szText, 256);
    修改:
    ::GetWindowText(hWnd, szText, 256);