看看ms的mediaplayer,他也是这种情况!

解决方案 »

  1.   

    先定义两个全局变量
    CX, CY
    在MOUSEDOWN里
    CX:=X;
    CY:=Y;
    在MOUSEMOVE里
    left:=left+x-cx;
    top:=top+y-cy;
    就可以了 我的MP3播放器就是这样 可以去掉讨厌的虚线外框
      

  2.   

    //参考
    http://www.csdn.net/expert/topic/425/425366.shtm
      

  3.   

    //.................
      private
        { Private declarations }
        FMouseDown: Boolean;
        FOldLeft: Integer;
        FOldTop: Integer;
    //.................
        
    procedure TFormMagnetism.LabelCaptionMouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    begin
      FMouseDown := True;
      FOldLeft := X;
      FOldTop := Y;
    end;procedure TFormMagnetism.LabelCaptionMouseUp(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    begin
      FMouseDown := False;
    end;procedure TFormMagnetism.LabelCaptionMouseMove(Sender: TObject;
      Shift: TShiftState; X, Y: Integer);
    begin
      if FMouseDown then begin
        Left := Left + (X - FOldLeft);
        Top := Top + (Y- FOldTop);
      end;
    end;
      

  4.   

    谢谢各位,看来有时候不能太依赖windows。