函数功能:该函数把屏幕上指定点的屏幕坐标转换成用户坐标。
  函数原型:BOOL ScreenToClient(HWND hWnd, LPPOINT lpPoint);
  参数:
  hWnd:指向窗口的句柄,此窗口的用户空间将被用来转换。
  lpPoint:指向POINT结构指针,该结构含有要转换的屏幕坐标。
  返回值:如果函数调用成功,返回值为非零值,否则为零。
看API上说该函数应该有2个参数,第一个是窗口句柄,第二个是屏幕坐标指针,但是为什么delphi上面只有一个参数.我是想把屏幕坐标转换成一个指定程序的窗口坐标,请问我要怎么作才可以,谢谢

解决方案 »

  1.   

    delphi已经对这个函数进行了再次包装
      

  2.   

    Delphi中为某一个窗口类都封装了一个ScreenToClient/ClientToScreen,默认的第一个参数带的是该窗口类自身的句柄,如此用户在需要转换时就可以通过调用一个成员函数来得到相应的转换结果,而为可能使用了错误的句柄得到错误的转换结果而烦恼。逻辑结构上面也显得更为清晰。
      

  3.   

    var
      Point :Tpoint;
    begin
      Point := GetCursorPos(Point);
      Point := TreeView1.ScreenToClient(Point);