delphi中怎么使控件随窗口的放大和缩小动态改变自己的大小

delphi中如何使控件随窗口的放大和缩小动态改变自己的大小
delphi中如何使控件随窗口的放大和缩小动态改变自己的大小?
有没有什么比较好的方法,不要每个控件都要在onresize中写代码。
谢谢!


------解决方案--------------------
写代码是最好的解决办法。!

有一个简单的函数ScaleBy,它可以使得你控制窗体内控件的比例,但是它实现的效果只能用一个字评价:烂!

给你个ScaleBy的例子吧,这个例子会使窗口中的控件随窗口宽度的大小而变化。
Delphi(Pascal) code

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    RichEdit1: TRichEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormResize(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
    OldWidth:Integer;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Pos('dke',Richedit1.Lines.Text);
end;

procedure TForm1.FormResize(Sender: TObject);
begin
  form1.ScaleBy(Self.Width,OldWidth);
  OldWidth:=Self.width;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  OldWidth:=Self.width;
end;

end.

------解决方案--------------------
可惜楼主要的是改变大小,而不是改变位置,在改变位置时有比较简单的方法
------解决方案--------------------
探讨

兄弟,改变位置如何实现,改变大小已实现了

------解决方案--------------------
根据窗体的大小,计算一个比例系数,然后窗体上所有控件的大小和字体都用这比例系数计算出来~~

不过个人感觉没必要~~
------解决方案--------------------
一般情况下的确不需要改变控件的大小,仅仅调整界面的布局即可。
使用Panel控件可以使得控件自动调整位置,
比如你想要一个按钮始终在界面底部,你在设计时可以先在界面上添加一个Panel,然后把Panel的Align属性设置为alBottom,这个Panel就会始终位于底部,如果把按钮放在Panel上的话,按钮相对于Panel是不动的,但按钮相对于窗体来说也会随Panel始终位于底部
同样,如果需要一个控件始终在窗体的右下角,那么可以先添加一个Panel1,Panel1的Align属性设置为alBottom,在Panel1上再放一个Panel2,并设置Panel2的Align属性为alRight,然后再在Panel2上放置按钮即可。
------解决方案--------------------
设置控件的anchors属性吧,全部设为true,看看满足你的要求么
------解决方案--------------------
前面的那段代码,基本能满足要求