我用FindWindow找到窗口句柄,想知道怎么得到鼠标在这个窗口内上的点的坐标。
我只知道一个GetCursorPos,可是这个是相对屏幕的,有API直接类似这个函数的吗?

解决方案 »

  1.   

    BOOL ScreenToClient(
      HWND hWnd,        // handle to window
      LPPOINT lpPoint   // screen coordinates
    );
    得到句柄和屏幕坐标.用该函数得到指定点在指定窗口上的客户区坐标
      

  2.   

    知道句柄了就可以通过GetWindowRect获取窗口针对屏幕的rect
    再用GetCursorPos获得鼠标针对屏幕的坐标
    比较一下也就知道鼠标相对窗口的坐标了
      

  3.   

    自己建立一个CRect,用GetWindowRect存到那个CRect,用CRect的PtInRect就可以直接判断GetCursorPos获得的坐标是否在窗体内