Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
ВнизОтслеживание нажитий на динамически-формируемые элементы формы Найти похожие ветки
← →
ПсихЪ_просто (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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.044 c