GGJJ,急求一个函数(简单),如何取得当前鼠标的位置。

解决方案 »

  1.   

    设置二个全程变量xx,yy:integer;

    procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
    xx:=x;
    yy:=y;
    end;
      

  2.   

    下面的代码,Popup菜单并不在鼠标当前位置显示。Why?
    procedure TActiveFiveChess.suiButton1MouseMove(Sender: TObject;
      Shift: TShiftState; X, Y: Integer);
    var
      xx,yy :integer;
    begin
      xx:=X;yy:=Y;
      suiPopupMenu1.FlatMenu:=true;
      suipopupmenu1.Popup(xx,yy);
    end;
      

  3.   

    var
      p:Tpoint;
    begin
      GetCursorPos(p);   //p.x:横坐标; p.y:纵坐标
    end;
      

  4.   

    因为你得到的坐标是相对于button来说的,而memu.popup是相对于屏幕来说的,可以这样:
       getcursorpos(p);
       popupmenu1.Popup(p.X,p.Y);
      

  5.   

    procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
      Form1.Caption:=IntToStr(x)+','+IntToStr(y);
    end;