Delphi动态创建多个编辑组件
我需要创建多个编辑组件,但我遇到了一个问题。 我需要将宽度和高度设置为一个固定值。 问题是我不能改变高度,当我这样做的时候,它根本不会改变。 奇怪的是,当我更改宽度时,它工作得非常完美(所有编辑都具有我在此函数中设置的宽度值) 以下是我的此函数代码:Delphi动态创建多个编辑组件,delphi,delphi-7,Delphi,Delphi 7,我需要创建多个编辑组件,但我遇到了一个问题。 我需要将宽度和高度设置为一个固定值。 问题是我不能改变高度,当我这样做的时候,它根本不会改变。 奇怪的是,当我更改宽度时,它工作得非常完美(所有编辑都具有我在此函数中设置的宽度值) 以下是我的此函数代码: procedure Tform1.editcreate; var i,j: integer; sud: array [1..9,1..9] of TEdit; begin for i:=1 to 9 do for j:=1 to 9
procedure Tform1.editcreate;
var i,j: integer;
sud: array [1..9,1..9] of TEdit;
begin
for i:=1 to 9 do
for j:=1 to 9 do begin
sud[i][j]:=TEdit.Create(form1);
sud[i][j].Height:=50;
sud[i][j].Width:=50;
sud[i][j].top:=50*i;
sud[i][j].left:=50*j;
sud[i][j].Parent:=form1;
end;
end;
默认情况下,单行编辑控件的高度由字体度量自动确定。因此,如果希望编辑的内容更大,请执行以下任一操作:
AutoSize
设置为False
我认为如果编辑控件的
AutoSize
设置为False
,由于额外的未使用垂直空间,它看起来会很奇怪。我想我从来没有使用过,甚至没有见过这样配置的编辑控件。FYI您应该将“form1”替换为“self”;o) 对于新表单,您应该做的第一件事是删除全局表单变量。那就不可能犯这样的错误。你知道你发布的代码毫无意义,对吧?sud
数组是过程editCreate
的本地数组,因此在最后的末尾过程的代码>超出范围,不再存在。这意味着数组的整个声明和添加编辑只会浪费代码行。(我也试图不去描绘你在同一个表单上创建的用户界面,它有81个编辑控件。)我把它放在这里只是为了看看它是什么变量,通常我把它声明为表单变量。你的问题是“这是我的这个函数的代码。”。我想那不是真的。:-)