Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизДинамическая память Найти похожие ветки
← →
akosh12345 © (2010-06-06 02:27) [0]Как сделать, что бы динамически созданный элемент находился на форме, которая в свою очередь тоже была создана динамически
procedure TForm1.Button1Click(Sender: TObject);
var
i : TForm;
l : TLabel;
begin
i := TForm.Create(nil);
i.Parent := nil;
i.Show;
i.Position := poScreenCenter;
l := TLabel.Create(nil);
l.Parent := i.;
l.Left :=1;
l.Top := 1;
end;
Мне нужно что бы на форме был Label
← →
Германн © (2010-06-06 02:47) [1]
> Мне нужно что бы на форме был Label
>
Именно после показа формы?
← →
Германн © (2010-06-06 02:50) [2]Сам сабж, кстати, не имеет никакого отношения к вопросу в нём.
← →
Leonid Troyanovsky © (2010-06-06 08:16) [3]
procedure TForm1.Button1Click(Sender: TObject);
var
i : TForm;
l : TLabel;
begin
i := TForm.CreateNew(nil);
i.Parent := nil;
i.Show;
i.Position := poScreenCenter;
l := TLabel.Create(nil);
l.Caption := "Label";
l.Parent := i;
l.Left :=1;
l.Top := 1;
end;
--
Regards, LVT.
← →
Anatoly Podgoretsky © (2010-06-06 08:19) [4]> akosh12345 (06.06.2010 02:27:00) [0]
Не понимаешь что творишь, это же бред.
Тебе не стоит этим заниматься.
← →
Leonid Troyanovsky © (2010-06-06 08:51) [5]
> Anatoly Podgoretsky © (06.06.10 08:19) [4]
Поправлюсь :)
procedure TForm1.Button1Click(Sender: TObject);
var
i : TForm;
begin
i := TForm.CreateNew(nil);
i.OnClose := FormClose;
i.Position := poScreenCenter;
with TLabel.Create(i) do
begin
Caption := "Label";
Parent := i;
Left :=1;
Top := 1;
end;
i.Show;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
--
Regards, LVT.
← →
Anatoly Podgoretsky © (2010-06-06 09:00) [6]> Leonid Troyanovsky (06.06.2010 08:51:05) [5]
Ну нифига себе поправил, тут же появились, толи глобальные, толи не
объявленые переменные (L)
Тут начинат надо с имен.
И будет ли еще цел TForm1, когда потребуется FormClose
Неаккуратно все как то.
← →
Leonid Troyanovsky © (2010-06-06 09:04) [7]
> Anatoly Podgoretsky © (06.06.10 09:00) [6]
> объявленые переменные (L)
L уже нету, это i or 1, видимо.
> И будет ли еще цел TForm1, когда потребуется FormClose
Это неважно, метод уцелеет.
> Неаккуратно все как то.
Ну, сначала, хотел наследника, но поленился, sorry.
--
Regards, LVT.
← →
Leonid Troyanovsky © (2010-06-06 09:24) [8]
> Leonid Troyanovsky © (06.06.10 09:04) [7]
> Ну, сначала, хотел наследника, но поленился, sorry.
Исправляюсь:
type
TMyForm = class(TForm)
private
FLabel: TLabel;
protected
procedure DoClose (var action: TCloseAction); override;
public
constructor Create(AOwner: TComponent); override;
end;
procedure TMyForm.DoClose;
begin
inherited;
Action := caFree;
end;
constructor TMyForm.Create;
begin
CreateNew(AOwner);
Caption := "MyForm";
Position := poScreenCenter;
FLabel := TLabel.Create(Self);
with FLabel do
begin
Caption := "Label";
Parent := Self;
Left :=1;
Top := 1;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
with TMyForm.Create(nil) do
Show;
end;
--
Regards, LVT.
← →
Anatoly Podgoretsky © (2010-06-06 09:29) [9]> Leonid Troyanovsky (06.06.2010 09:24:08) [8]
Вот и взяли на слабо :-)
← →
Leonid Troyanovsky © (2010-06-06 09:41) [10]
> Anatoly Podgoretsky © (06.06.10 09:29) [9]
> Вот и взяли на слабо :-)
Ни одно доброе дело не должно остаться безнаказанным :)
--
Regards, LVT.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.059 c