Цитата:
и как выдрать из ObjLabel.Tag нужный label?
|
не понял... что значит "выдрать"???
Тут такое дело менять все свойства объекта (Label.Left.. top.. font..) можно через массив...
Код:
ObjLabel[6].Top := ObjLabel[6].Top + 15; // "опустим"(=)) надпись на 15 пикселей вниз...
Но вот обрабатывать клик на токо что созданом (либо если их оч. много) объекте (насколько я помню...

) можно так...
Допустим:
1. У нас 32 Label (или массив из них...)
2. У них у всех различные позиции... (Top & Left)
3. По клику на каждую из них ее надо удалить...
Для 3 этапа(первые 2 вроде понятны...) надо созать процедуру-обработчик события OnClick для класса TLabel
(то есть обрабатываться будет при клике на абсалбтно любом объекте типа TLabel, поэтому начинать "раздовать" Tag'и лучше с 1...)
Код:
procedure TLabelOnClick // это надо ручками писать ...
// в этом участке неточности ... завтра исправлю...
Этот код будет реагировать на клик по любой надписи существующей на форме. Теперь осталось только удалить надпись...
Код:
ObjLabel[TLabel.Tag].Destroy; {а может и sender завтра уточню}
То есть выбираем из массива Label'ов Label с индексом равным Tag'у надписи по которой кликнули и уничтожаем...
С канвасом могу помочь (знаний для этого момента хватает...) пиши в личку, а лучше в асю...
--------------------------------------------------------------------------
P.S. В этом коде допущенны ошибки... найду книжку - исправлю
