Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.25;
Скачать: CL | DM;

Вниз

Отслеживание нажитий на динамически-формируемые элементы формы   Найти похожие ветки 

 
ПсихЪ_просто   (2004-07-14 17:11) [0]

Возникла сабжевая проблема. Мастера, я динамически создаю, скажем, TLable:

 id := LabelCount;
 inc( LabelCount );
 SetLength( Labels, LabelCount );
 Labels[id] := TLabel.Create( Owner );
 Labels[id].Parent := TWinControl( Owner );
 Labels[id].Alignment := taRightJustify;
 Labels[id].Font.Style := [fsBold];
 Labels[id].Left := x;
 Labels[id].Top := y;
 Labels[id].Width := w;
 Labels[id].Height := h;
 Labels[id].Layout := tlBottom;
 Labels[id].BringToFront();
 Result := id;
// LabelCount - размер массива c TLabel"ами
// Labels - массив TLabel"ов
// Owner - хэндел формы или иного элемента,
// на котором рисуются TLabel"ы

Каждый динамический TLabel имеет свой ID"шник, по которому его можно получить:

function GetLabel( id : integer ) : PLabel;
begin
 Result := @Labels[id];
end;
// PLabel = ^TLabel;


Как мне зафиксировать нажатие на один из TLabel"ов в Labels и как получить ID этого TLabel"а?

Полный исходник можно скачать с этой страницы: http://tzlab.amillo.net/delphi/down/index.htm. Называется P7 Designer.
Извините, прямой ссылки дать не могу из-за дурацкой особенности хостинга.


 
Гаврила ©   (2004-07-14 17:24) [1]

Во первых, Plabel тут наверно лишний, зачем указатель на указатель использовать? Достаточно TLabel.
Далее программно присваивается обработчик OnClick всем Label"ам один и тот же
Labels[id].OnClick:=MyLabelClickProcrdure;

Параметром Sender в этот обработчик будет приходить тот самый Label, осталость только его типизировать


 
KSergey ©   (2004-07-14 18:13) [2]

Читаем тут
http://www.delphikingdom.com/helloworld/runtime_comp.htm



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

Текущий архив: 2004.07.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.06 c
4-1086778593
yuryzh
2004-06-09 14:56
2004.07.25
Drag and Drop


1-1089340636
Pavelkq
2004-07-09 06:37
2004.07.25
Удаление дубликатов с подсчетом повторов.


14-1088753757
Alexei Sviridov
2004-07-02 11:35
2004.07.25
IB Server for RH Linux


14-1088782505
Baron
2004-07-02 19:35
2004.07.25
Губернатор - клоун


14-1089079484
Думкин
2004-07-06 06:04
2004.07.25
С днем рождения! 6 июня