请问我如何获取该API的返回值,如在edit1.text为鼠标点击的X值?
顺便谈谈API的用法!

解决方案 »

  1.   

    edit1.text:=inttostr(getmessagepos());不要用LOWORD或HIWORD宏来抽取鼠标位置的x,y坐标,因为在多显示器的系统里将返回不正确的结果。多显示器的系统里可取得负的x, y坐标,但LOWORD和HIWORD将坐标当作无符号量.要得到光标的当前位置而不是上一个消息发生时的位置,调用函数GetCursorPos。
      

  2.   

    To,moudy:
    谢谢.我可否向你讨教getmessagepos()的用法?它是干什么的?为何你说到宏了!
    我对api是空白!
    关于getcursorpos我可以做到!但就是不明白,getmessagepos()的返回值仅仅一个,又怎与坐标有关了!
    http://www.csdn.net/expert/topic/1041/1041551.xml?temp=.5114252
      

  3.   

    直接使用Mouse.CursorPos.x,Mouse.CursorPos.y
      

  4.   

    procedure TForm1.FormClick(Sender: TObject);
    var cc:tpoint;
    begin
    getcursorpos(cc);
    edit1.Text:=inttostr(cc.X);
    edit2.Text:=inttostr(cc.Y);
    end;
      

  5.   

    谢谢 moudy 和windindance!
    欢迎后来者到http://www.csdn.net/expert/topic/1041/1041551.xml?temp=.4824793去取分!
    分虽不多,但问题很具备挑战性!