delphi中如何使控件随窗口的放大和缩小动态改变自己的大小
delphi中如何使控件随窗口的放大和缩小动态改变自己的大小?
有没有什么比较好的方法,不要每个控件都要在onresize中写代码。
谢谢!
[解决办法]
写代码是最好的解决办法。!
有一个简单的函数ScaleBy,它可以使得你控制窗体内控件的比例,但是它实现的效果只能用一个字评价:烂!
给你个ScaleBy的例子吧,这个例子会使窗口中的控件随窗口宽度的大小而变化。
unit Unit1;interfaceuses 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.
[解决办法]
可惜楼主要的是改变大小,而不是改变位置,在改变位置时有比较简单的方法
[解决办法]