这样一段代码:
var edit:Tedit;
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
for i:=1 to 8 do
begin
edit:=Tedit.Create(self);
edit.ParentWindow:=form1.Handle;
edit.Top:=100+i*20;
edit.Left:=25;
edit.Height:=18;
edit.Width:=50;
edit.Visible:=true;
edit.Name:='edit'+inttostr(i);
end;
end;
请看其中的edit.name得到的结果,应该是edit1。
请问,我怎么才能象直接应用可是tedit控件一样,showmessage(edit1.text)。
多谢各位,在线期待中ing
var edit:Tedit;
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
for i:=1 to 8 do
begin
edit:=Tedit.Create(self);
edit.ParentWindow:=form1.Handle;
edit.Top:=100+i*20;
edit.Left:=25;
edit.Height:=18;
edit.Width:=50;
edit.Visible:=true;
edit.Name:='edit'+inttostr(i);
end;
end;
请看其中的edit.name得到的结果,应该是edit1。
请问,我怎么才能象直接应用可是tedit控件一样,showmessage(edit1.text)。
多谢各位,在线期待中ing
var ControlList: Tlist; CreateNum: integer;
const CreateClass : TControlClass = TButton;//可以任意修改TControlClass = TEdit或TPanel等。效果一样。
var i:integer; APoint: Pointer;
ControlList := TList.Create;
ControlList.Clear;
CreateNum := 10;
for i:=1 to CreateNum do
begin
APoint := Pointer(DynaCreateComponent(self,CreateClass,'Button_' + IntToStr(i),0,i*20+1,60,20));//创建
ControlList.Add(APoint);
end;
TButton(ControlList.Items[i]).Caption := 'XXXX';}
//动态创建控件******************************************************************
//==============================================================================
function DynaCreateComponent(Owner: TComponent; CompType: TControlClass; CompName: String; Left,Top,Width,Height:Integer): TControl;
begin
if (Owner.FindComponent(CompName)<>nil) and not(Owner.FindComponent(CompName) is TControl) then
begin
Result := nil;
exit;
end;
Result := Owner.FindComponent(CompName) as TControl;
if Result=nil then
begin
Result := CompType.Create(Owner);
with Result do
begin
if Owner is TwinControl then
begin
SetBounds(Left,Top,Width,Height);
Parent := TwinControl(Owner);{如果是可视构件,则显示之}
if Owner is TForm then TForm(Owner).ActiveControl := TWinControl(Result);{设置窗口焦点}
end;
end;
Result.Name := CompName;
end
else {Result<>Nil}
if not(Result is CompType) then
begin
Result := nil;
Exit;
end;
Result.Visible := True;
end;