Вниз
Скачать: CL | DM;

Обращение к динамически созданной метке   Найти похожие ветки 

← →
Fr3nch   (2005-11-12 16:37) [0]

Помогите решить:
Создаю метки следующим образом

for i := 1 to Z do
begin
l := TLabel.Create(self);
l.Parent := form1;
l.Top := random(500);
l.Left := random(500);
l.Caption := "LABEL";
l.Transparent := true;
l.Name := "label" + inttostr(i);
end;


Вопрос: как обращаться к этой метке, например, labelZ.caption := "...";


← →
stdctrls   (2005-11-12 17:37) [1]

uses  stdctrls;

VAR B, B1: TLabel; cl: TNotifyEvent;

procedure TForm1.FormCreate(Sender: TObject);
begin
 B := TLabel.create(self);
 B1 := TLabel.create(self);
 B.parent := self;
 B.top := 50; B.left := 50;
 b.Caption := "--B--";
 B1.parent := self;
 B1.top := 10; B1.left := 10;
 B1.Caption := "--++B1++--";
end;


← →
SergP.   (2005-11-12 17:40) [2]


> Вопрос: как обращаться к этой метке, например, labelZ.caption
> := "...";


А зачем же ты тогда теряешь указатели,  если хочешь обращаться ко всем лейбам? У тебя же остается только указатель на последнюю метку...

После этого остается только искать по имени через FindComponent.

Лучше сохрани указатели в массив.


var
l:array of TLabel;

...

setlength(l,z);
for i := 0 to Z-1 do
begin
l[i] := TLabel.Create(self);
l[i].Parent := form1;
l[i].Top := random(500);
l[i].Left := random(500);
l[i].Caption := "LABEL";
l[i].Transparent := true;
l[i].Name := "label" + inttostr(i);
end;



После этого можешь обращаться к любой метке так например:

l[2].caption:="это одна метка";
l[8].caption:="это совсем другая метка";
...


← →
StdCtrls   (2005-11-12 17:41) [3]

uses StdCtrls ;
var B: array[0..99] of TLabel;

procedure TForm1.FormCreate(Sender: TObject);
var i: word;
begin
 for i := 0 to 99 do
 begin
   B[i] := TLabel.create(self);
   with B[i] do
   begin
     parent := self;
     tag := i;
     width := 25;
     Height := 25;
     top := i div 10 * width;
     left := (i * Height) - ((i div 10) * Height * 10);
     Caption := "B" + inttostr(i);
   end;
 end;

 B[99].caption:="this is the label";

end;


← →
Fr3nch   (2005-11-12 18:46) [4]

благодарю!



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
14-1131004493
syte_ser78
2005-11-03 10:54
2005.11.27
GeForse 3 TI 200 DDR 64 Mb manly


2-1131733744
vpavel
2005-11-11 21:29
2005.11.27
Рисунок в базу загнать...


14-1130914514
КаПиБаРа
2005-11-02 09:55
2005.11.27
Практический вопрос


1-1130779279
Wolfram
2005-10-31 20:21
2005.11.27
Как правильно отслеживать перемещение курсора в Memo?


2-1131599978
paule
2005-11-10 08:19
2005.11.27
Перенос строки в Memo




   Наверх