Q&A

  • 버튼같은것을 드래그해서 원하는곳에 드래그 할수 없나요?
버튼을 만들어서 실행한 다음.....버튼위치를 마우스로 드래그해서 다른위치에
옮기게  할수 없나요?? 가르쳐 주세요......
1  COMMENTS
  • Profile
    홍성락 2002.10.16 00:47
    자료실에 컴포넌트를 옮기거나 크기조정등의 소스도 있습니다.
    아래는 간단히 이동만이므로 컨트롤키를 누르고 마우스 좌측을 누른상태에서 이동하는 예입니다.
    ...
    var
      Form1: TForm1;
      WndPos : TPoint;
      move_ok : Boolean;
    implementation

    {$R *.dfm}

    procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
        WndPos := Point(X, Y);
        move_ok := True;
    end;

    procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
        if ( ssCtrl in Shift)and(move_ok) then begin
           TButton( Sender ).Left := TButton( Sender ).Left + X - WndPos.x;
           TButton( Sender ).Top := TButton( Sender ).Top + Y - WndPos.y;
        end;
    end;

    procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
        move_ok := False;
    end;

    end.
    hsr/////////////////////////////////////////