中国开发网: 论坛: 程序员情感CBD: 贴子 708234
pcplayer: 那你把这代码的 TForm1 换成其它你自己定义的类不就完了?
constructor TMyDlg.Create(AOwner: TComponent);
var
ABtn: TButton;
ALabel: TLabel;
begin
inherited Create(AOwner);

Self.FMyForm := TForm.Create(Application);
FMyForm.Caption := '吃饭了';
FMyForm.Position := poScreenCenter;

ABtn := TButton.Create(FMyForm);
ABtn.Name := 'MyButton';
ABtn.Parent := FMyForm;
ABtn.Caption := 'ClickMe';
ABtn.OnClick := Self.DoBtnClick;
ABtn.Left := 20;
ABtn.Top := 20;

ALabel := TLabel.Create(FMyForm);
ALabel.Parent := FMyForm;
ALabel.Caption := '嘿嘿';
ALabel.Name := 'MyLabel';
ALabel.Left := 20;
ALabel.Top := 80;

FMyForm.Show;
end;

procedure TMyDlg.DoBtnClick(Sender: TObject);
var
i: Integer;
AForm: TWinControl;
begin
AForm := (Sender as TButton).Parent;
for i := 0 to Pred(AForm.ComponentCount) do
begin
if AForm.Components[i] is TLabel then
begin
TLabel(AForm.Components[i]).Caption := 'hello';
end;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
MyForm: TMyDlg;
begin
MyForm := TMyDlg.Create(Self);
end;

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录