Вопрос
На моей форме более 20 Panel'ей и в каждой я обрабатываю событие MouseMove и MouseDown, у всех панелей эти события одинаковы! Получился очень большой объем исходного кода, более 300 строк одинаковой информации! Можно ли как то это изменить?
Ответ
Конечно.
Например имеем обрабочик события для первой панели, тогда просто для второй и последующих:
PanelN.onMouseMove=Обработчик первой панели;
А в самом обработчике мы можем узнать кто именно вызвал его:
MessageDlg('Это событие от '+TPanel(Sender).Name);
Вот и все. Так же мы можем и любые properties панели, которая вызвала обработчик изменять. Например так:
TPanel(Sender).Color:=clWhite;
Из конференции Expert_FAQ
Copyright 2000-2004 Сообщество Чайников
Контактная информация