我想让一个东东跟随鼠标移动而移动,但一按下鼠标左键不放东东就不能跟随移动了,特向大家请教该如何解决~!

解决方案 »

  1.   

    先确定你那个东东的位置(包括top和left值)和鼠标初始位置的坐标(x,y),在onmousemove事件中,再次根据鼠标的当前位置来计算那个东东的相对位置(top、left),然后把这个位置赋给那个东东,就可以实现那个东东随鼠标移动了。然后在onmousedown事件中判断是鼠标左键还是右键,确定是左键后,获取鼠标的坐标,再计算那个东东的相对位置,赋给那个东东,同时取消随鼠标移动位置,这样两个问题都解决了
      

  2.   


    我是指onmousedown的同时不影响onmousemove,现在是一按下鼠标左键不放东东就不能跟随移动了
      

  3.   


    Procedure Test(var Msg: TWMNCHITTEST); message  WM_NCHITTEST;procedure TForm1.Test(var Msg: TWMNCHITTEST);
    var
      P: TPoint;
    begin
      inherited;
      P := Point(MsG.XPos, Msg.YPos);
      p := ScreenToClient(P);
      Button1.Left := P.x;
      Button1.Top := p.Y;
    end;
      

  4.   


    Procedure Test(var Msg: TWMNCHITTEST); message  WM_NCHITTEST;
    procedure TForm1.Test(var Msg: TWMNCHITTEST);
    var
      P: TPoint;
    begin
      inherited;
      P := Point(MsG.XPos, Msg.YPos);
      p := ScreenToClient(P);
      Button1.Left := P.x;
      Button1.Top := p.Y;
    end;