Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 10.03.2008, 18:31
Gad99 Gad99 вне форума
Новичок
 
Регистрация: 21.02.2008
Адрес: мурманск
Сообщения: 72
Репутация: 10
По умолчанию Размещение динамических TLabel

Создаю массив TLabel на примере http://www.delphisources.ru/pages/fa...its_array.html но немогу понять как мне их разместить на Panel1 которая лежит на Frame4 которая в свою очередь находиться на Form1.
Ответить с цитированием
  #2  
Старый 11.03.2008, 06:42
Rosenkrantz Rosenkrantz вне форума
Активный
 
Регистрация: 04.12.2007
Адрес: Москва
Сообщения: 234
Версия Delphi: Delphi 7
Репутация: 40
По умолчанию

Код:
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  
Старый 12.03.2008, 20:51
Gad99 Gad99 вне форума
Новичок
 
Регистрация: 21.02.2008
Адрес: мурманск
Сообщения: 72
Репутация: 10
По умолчанию

спс, наконец то ктото ответил щас попробую
Непонял. После выполнения кода
Код:
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;
вываливается StackOverFlow

Последний раз редактировалось Gad99, 12.03.2008 в 21:46.
Ответить с цитированием
  #4  
Старый 12.03.2008, 22:07
Аватар для s0Creator
s0Creator s0Creator вне форума
Местный
 
Регистрация: 20.02.2008
Адрес: Московская область
Сообщения: 420
Репутация: 884
По умолчанию

если Label1 в твоем коде одна из создаваемых лабел
то хоть им и присваиваются при динамическом создании имена
лучше всетаки присваивать вручную перед привязкой
Код:
Name := 'MyLabel' + inttostr(i);
 Parent := Text.Panel1;
или через поиск компонентов
Ответить с цитированием
  #5  
Старый 13.03.2008, 00:30
Gad99 Gad99 вне форума
Новичок
 
Регистрация: 21.02.2008
Адрес: мурманск
Сообщения: 72
Репутация: 10
По умолчанию

нет, тот 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  
Старый 13.03.2008, 02:49
Rosenkrantz Rosenkrantz вне форума
Активный
 
Регистрация: 04.12.2007
Адрес: Москва
Сообщения: 234
Версия Delphi: Delphi 7
Репутация: 40
По умолчанию

Код:
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  
Старый 13.03.2008, 11:13
Gad99 Gad99 вне форума
Новичок
 
Регистрация: 21.02.2008
Адрес: мурманск
Сообщения: 72
Репутация: 10
Хорошо

Все заработало спасибо
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:58.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter