![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Создаю массив 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
|
|||
|
|||
|
Все заработало спасибо
![]() |