在程序运行的时候,可以用鼠标把某控件拖到窗体内的任意地方并能改变其大小,就像在设计阶段时的效果一样.请各位大虾们指教,谢谢!   
    

解决方案 »

  1.   

    转贴
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls, Menus, ExtCtrls;type TMyControl = Class(TControl);type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Button1: TButton;
        Panel1: TPanel;
        procedure FormCreate(Sender: TObject);
      private
        procedure MyMouseDown(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;
    implementation{$R *.DFM}procedure TForm1.MyMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      ReleaseCapture;
      (Sender as TControl).Perform(WM_SYSCOMMAND,$F012,0);
    end;procedure TForm1.FormCreate(Sender: TObject);
    var
      I:Integer;
    begin
      for I:=0 to Form1.ComponentCount-1 do
      begin
        if (Form1.Components[I] is TControl) then
        begin
          TMyControl(Form1.Components[I]).OnMouseDown:=MyMouseDown;
        end;
      end;
    end;end.