|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Размещение динамических TLabel
Создаю массив TLabel на примере http://www.delphisources.ru/pages/fa...its_array.html но немогу понять как мне их разместить на Panel1 которая лежит на Frame4 которая в свою очередь находиться на Form1.
|
#2
|
|||
|
|||
Код:
procedure TForm1.CreateLabels; var LabelArr: Array [0..10] Of TLabel; i: Integer; begin ... for i := 0 to Length(LabelArr) - 1 do begin // Создаем очередную метку L[i] := TLabel.Create(Self); with L[i] do begin // Позиционируем в столбик одну под другой с расстоянием в 2 пиксела // Предполагается, что все метки одной высоты Lef := 2; Top := i * (L[i].Height + 2); // Размещаем на Panel1 Parent := Panel1; end; end; ... end; |
#3
|
|||
|
|||
спс, наконец то ктото ответил щас попробую
Непонял. После выполнения кода Код:
For x2 := 1 to 3 do Begin LabelArr[x2] := TLabel.Create(Self); LabelArr[x2].Left := 20; LabelArr[x2].Top := x2 * (LabelArr[x2].Height + 20); LabelArr[x2].Caption := 'Динамический'; Parent := Text.Panel1; End; Text.Visible := true; Text.Label1.Caption := Predmet; Text.Label1.Left := (Text.Panel1.Width - Text.Label1.Width)Div 2; End; Последний раз редактировалось Gad99, 12.03.2008 в 21:46. |
#4
|
||||
|
||||
если Label1 в твоем коде одна из создаваемых лабел
то хоть им и присваиваются при динамическом создании имена лучше всетаки присваивать вручную перед привязкой Код:
Name := 'MyLabel' + inttostr(i); Parent := Text.Panel1; |
#5
|
|||
|
|||
нет, тот Label1 что указан в коде это статический, но я пробовал с динамическим и по другому For x2:= 2 to 5 do но один фиг ошибка вылазиет.
Сделал вот так Код:
For x2 := 2 to 5 do Begin LabelArr[x2] := TLabel.Create(Self); LabelArr[x2].Left := 20; LabelArr[x2].Top := x2 * (LabelArr[x2].Height + 20); LabelArr[x2].Caption := 'динамический'; LabelArr[x2].Name := 'MyLabel'+inttostr(x2); Parent := Text.Panel1; End; Text.Visible := true; Text.Label1.Caption := Predmet; Text.Label1.Left := (Text.Panel1.Width - Text.Label1.Width)Div 2; End; end; Последний раз редактировалось Gad99, 13.03.2008 в 00:35. |
#6
|
|||
|
|||
Код:
For x2 := 1 to 3 do Begin LabelArr[x2] := TLabel.Create(Self); LabelArr[x2].Left := 20; LabelArr[x2].Top := x2 * (LabelArr[x2].Height + 20); LabelArr[x2].Caption := 'Динамический'; LabelArr[x2].Parent := Text.Panel1; End; Text.Visible := true; Text.Label1.Caption := Predmet; Text.Label1.Left := (Text.Panel1.Width - Text.Label1.Width)Div 2; End; |
#7
|
|||
|
|||
Все заработало спасибо
|