关于排列控件的菜问题!(100分)

K

kkitty

Unregistered / Unconfirmed
GUEST, unregistred user!
请问各位高手,我根据文件中数据的不同类型,动态生成不同的控件,
每次生成的控件个数不定,我想根据每次生成的控件的不同,在窗体上
排列,如何实现好呢
比如说,我这次要在窗体上显示3个控件包括edit,checklistbox,combobox等等
如何写代码使每次动态生成的控件在窗体上整齐排列呢
 
让他们的left和top属性对齐就ok了。
 
我如何计算他们的left,top呢
 
放上几个panel,BevelOuter设为false,去掉caption。
生成的一个或者多个控件的parent设定为某个panel。可以省去位置的计算。
 
同意楼上的
多用容器类的控件来排列控件
 
根据字段的长度决定控件的WIDTH,然后根据上一个控件的位置,容器(PANEL)的宽度,
控件间的间隔,决定控件是放在同一行还是下一行
 
在 form 的 ONCreaet 中自己排:
procedure TForm1.FormCreate(Sender: TObject);
var
t,w:integer;
begin
w:=clientWidth div 4;
t:=0;
with edit1 do
begin
left:=0;
top:=t;
width:=w;
height:=20;
t:=top+height+5;
end;

with ComboBox1 do
begin
left:=0;
top:=t;
width:=w;
height:=20;
t:=top+height+5;
end;

with CHecklistBox1 do
begin
left:=0;
top:=t;
width:=w;
height:=self.clientHeight-t;
end;

end;
 
顶部