|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
Неограниченно создавать элементы VCL
В общем вопрос такой:
как создавать неограниченное количество объектов программно, например edit, label, вкалдки....? Последний раз редактировалось Admin, 04.05.2009 в 15:58. |
#2
|
|||
|
|||
Путем вызова конструктора нужного класса. Например, создаем 100 лаблов:
Код:
var I : Integer; begin For I := 1 To 100 Do With TLabel.Create(Self) Do Begin Parent := Self; Top := I * 10; Left := 100 Caption := 'label' + IntToStr(I); End; end; |
#3
|
||||
|
||||
Сапсибо за быструю помощь, вопрос исчерпан
|
#4
|
||||
|
||||
Не прошло и года....))))
А как мне теперь обратиться например к созданному таким образом label, например: Код:
*** var I : Integer; s:string; begin For I := 1 To 100 Do With TLabel.Create(Self) Do Begin Parent := Self; Top := I * 10; Left := 100 Caption := 'label' + IntToStr(I); End; *** s:=label[i].caption;//как это правильно прописать end; *** |
#5
|
||||
|
||||
Про обращение никто не говорил в начале темы
В этом случае уже нельзя так создавать элементы. Придется сначала определить массив для классовых переменных а уже потом создавать: Код:
var I : Integer; s:string; Labels: Array[1..100] of TLabel; begin For I := 1 To 100 Do begin Labels[i] := TLabel.Create(Self) With Labels[i] Do Begin Parent := Self; Top := I * 10; Left := 100 Caption := 'label' + IntToStr(I); End; end; *** s:=labels[i].caption;//как это правильно прописать end; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#6
|
||||
|
||||
Страдалецъ, спасибо!
Год назад были необходимы другие цели, а так решил уж темы не плодить. |
#7
|
||||
|
||||
Упс! Даже не обратил внимание на дату первого поста.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |