小忙找大家帮
现在有10个BUTTON,width:=100;height:=50;
初始状态form1.width := 430;form1.height:=600;
实现功能:
当窗体拉大或托小时BUTTON自动显示(意思就是不要让窗体产生滚动条,并且BUTTON还要全部显示出来)
[解决办法]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
procedure FormCreate(Sender: TObject);
procedure FormResize(Sender: TObject);
private
procedure ArrangeButton();
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ArrangeButton;
var i,j:integer;
vileft,vitop:integer;
count:integer;
begin
count:=Form1.Width div 108;
if count=0 then count:=1;
vitop:=5;
i:=1;
while i <=10 do
begin
vileft:=7;
for j:=0 to count-1 do
begin
if FindComponent( 'Button '+IntToStr(i)) <> nil then
begin
TButton(FindComponent( 'Button '+IntToStr(i))).Left:=vileft;
TButton(FindComponent( 'Button '+IntToStr(i))).Top:=vitop;
vileft:=vileft+108;
Inc(i);
end;
end;
vitop:=vitop+28;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ArrangeButton;
end;
procedure TForm1.FormResize(Sender: TObject);
begin
ArrangeButton;
end;
end.