Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.16;
Скачать: CL | DM;

Вниз

Создание компонент   Найти похожие ветки 

 
Maxx   (2003-06-02 12:51) [0]

Подскажите как создать динамически во время выполнения программы пару сотен Label-ов? Очень надо, пожалуйста!


 
Skier ©   (2003-06-02 12:54) [1]

for ii := 0 to Пару_сотен - 1 do begin
with TLabel.Create(...) do begin
//............
Parent := ???;
//............
end; //with
end; //for


 
Maxx   (2003-06-02 15:38) [2]

>> Skier © (02.06.03 12:54)
Спасибо, получилось, правда побольше чем пару сотен :), а как мне теперь обратиться к определенному Label, например к 101-му?


 
Skier ©   (2003-06-02 15:45) [3]

1) По имени LabelsOwner.FindComponent(...)
2) По индексу, если занести все метки в список или массив
3) Можно ещё использовать св-во TLabel.Tag для идентификации
метки.


 
Sandman25 ©   (2003-06-02 15:48) [4]

1. При создании даете имя "Label"+IntToStr(i) и теперь можно FindComponent("Label101")
2. При создании записываете ссылку на объект в массив (динамический, если число компонент заранее неизвестно).


 
MalkoLinge ©   (2003-06-02 16:09) [5]

Рекомендовал бы TObjectList для хранения объектов


 
Pattern ©   (2003-06-02 16:18) [6]

var
edt_: array[1..200] of TEdit;

procedure TForm1.FormCreate(Sender: TObject);
begin
for i_ := 1 to 20 do
begin
edt_[i_] := TLabel.Create(Self);
edt_[i_].Parent := Self;
edt_[i_].Left := 10;
edt_[i_].Text := "Edit " + IntToStr(i_);
edt_[i_].Top := i_ * 20;
end;
end;

Из этого следует что Edit 1 - edt_[1], Edit 2 - edt_[2] и т. д.


 
Maxx   (2003-06-03 11:50) [7]

...
bol := Form1.FindComponent("i10j10");
...

Находится, а свойство Caption у него куда теперь подевалось?


 
Skier ©   (2003-06-03 11:54) [8]

>Maxx (03.06.03 11:50)
Приводить к нужному типу не пробовал ?


 
Maxx   (2003-06-03 17:17) [9]

Спасибо, с этим разобрался, а как теперь создать событие на динамически созданный компонент?
...
(Components[i] as TLabel).OnClick ?
...


 
Skier ©   (2003-06-03 17:29) [10]

Книги + Статьи на этом сайте



Страницы: 1 вся ветка

Текущий архив: 2003.06.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
1-50377
shuba
2003-06-03 10:37
2003.06.16
Word


1-50350
killer
2003-06-03 17:48
2003.06.16
Как програмно создать кнопку?


3-50253
kaktuss
2003-05-27 08:04
2003.06.16
Глупый вопрос про Alias, как подцепить базу к чистой машинке?


3-50212
pav_oleg
2003-05-26 01:40
2003.06.16
Как подменять значения некоторых полей результата запроса?


4-50553
Xoy
2003-04-16 23:43
2003.06.16
как кпредилить раскладку