在窗体上的有些控件(如Groupbox)有拖动属性,如何设置这些属性可以使控件在窗体上可以上下左右移动呢?

解决方案 »

  1.   

    unit Unit1;interfaceuses
      Windows,Forms, Classes, Controls, StdCtrls;type
      TForm1 = class(TForm)
        GroupBox1: TGroupBox;
        procedure FormDragOver(Sender, Source: TObject; X, Y: Integer;
          State: TDragState; var Accept: Boolean);
        procedure FormDragDrop(Sender, Source: TObject; X, Y: Integer);
        procedure FormCreate(Sender: TObject);
      private
      public
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    begin
      Accept := true;
    end;procedure TForm1.FormDragDrop(Sender, Source: TObject; X, Y: Integer);
    begin
      GroupBox1.Left := x;
      GroupBox1.Top := y;
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      Groupbox1.DragMode := dmAutomatic;
    end;end.
      

  2.   

    在控件的mousedown事件里:
         ReleaseCapture;
         pnlMini.Perform(WM_SYSCOMMAND,$F012,0);即可拖动