Форум: "Начинающим";
Текущий архив: 2006.12.17;
Скачать: [xml.tar.bz2];
ВнизНазначить событие всем компонентам Найти похожие ветки
← →
Krants (2006-11-27 14:00) [0]Имеется группа Label-ов, разбросаная по формам, им всем нужно переназначить событие OnMouseDown. Сам код события находиться в отдельном модуле(библиотеке), к примеру
procedure LabelMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
(Sender as TLabel).Font.Style:=[fsBold];
end;
при попытке задать событие
Label1.OnMouseDown:=MyUnit1.LabelMouseDown;
Delphi ругается "incompatible types..."
Можно ли как-нибудь зарегистрировать процедуру как событие?
← →
alex810 © (2006-11-27 14:10) [1]В инспекторе объектов в кладке Events всем лайбелам назначаешь одну и туже процедуру обработки события
← →
Krants (2006-11-27 14:14) [2]
> alex810
нужно програмно. реально таких событий несколько и они должны добавлятся и изменяются в ран-тайме...
← →
Palladin © (2006-11-27 14:15) [3]
> [1] alex810 ©
Вопрос читал?
← →
umbra © (2006-11-27 14:15) [4]Метод класса - это не простая процедура. В него неявно передается указатель на класс, в котором он вызывается. Есть несколько способов преобразовать процедуру в метод. Самый простой - объявить ее методом какого-нибудь класса.
THandlerContainer = class(TObject)
public
procedure LabelMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
end;
{...............................}
implementation
procedure THandlerContainer.LabelMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
(Sender as TLabel).Font.Style:=[fsBold];
end;
← →
alex810 © (2006-11-27 14:20) [5]Извеняюсь не дочитал
← →
Krants (2006-11-27 14:36) [6]
> umbra
хороший вариант, спасибо, сгодится.
← →
Leonid Troyanovsky © (2006-11-27 17:50) [7]
> Krants (27.11.06 14:36) [6]
> хороший вариант, спасибо, сгодится.
Вариант хороший, но я б не рекомендовал его для
широкого применения, скажем, в библиотеке.
--
Regards, LVT.
PS Т.е., надо говорить так: спасибо, испытаю и доложу.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.12.17;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.042 c