Как создать компонент во время выполнения приложения?
Falk0ner, вс, 06/07/2008 - 15:34.
При создании визуальных контролов в runtime, важным моментом является назначение родительских свойств и использование метода SetBounds, чтобы этот контрол стал видимы.
type
TForm1 = class(TForm)
protected
MyLabel: TLabel;
procedure LabelClick(Sender: TObject);
procedure CreateControl;
end;
procedure TForm1.LabelClick(Sender: TObject);
begin
(Sender as Label).Caption := ...
end;
procedure TForm1.CreateControl;
var
ALeft, A, AWidth, AHeight: Integer;
begin
ALeft := 10;
A := 10;
AWidth := 50;
AHeight := 13;
MyLabel := TLabel.Create(Self);
MyLabel.Parent := Self;
MyLabel.Name:='LabelName';
MyLabel.SetBounds(ALeft, A, AWidth, AHeight);
MyLabel.OnClick := LabelClick;
end;
TForm1 = class(TForm)
protected
MyLabel: TLabel;
procedure LabelClick(Sender: TObject);
procedure CreateControl;
end;
procedure TForm1.LabelClick(Sender: TObject);
begin
(Sender as Label).Caption := ...
end;
procedure TForm1.CreateControl;
var
ALeft, A, AWidth, AHeight: Integer;
begin
ALeft := 10;
A := 10;
AWidth := 50;
AHeight := 13;
MyLabel := TLabel.Create(Self);
MyLabel.Parent := Self;
MyLabel.Name:='LabelName';
MyLabel.SetBounds(ALeft, A, AWidth, AHeight);
MyLabel.OnClick := LabelClick;
end;
Взято из http://forum.sources.ru
Отправить комментарий