![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
несколько Label-ов [D5, D6, Win95/98]
Maz © (2002-12-09 16:01:00)Всем привет.
есть такая проблемка, у меня много меток, для которых прописываются события на вход и выход мыши.... для всех меток около 20 прописываются одни и теже команды....
как это все сгрупировать.... в более компактную форму?
заранее спасибо
Anatoly Podgoretsky (2002-12-10 16:53:00) [1]Maz (10.12.02 15:16)
Переименуй в инспекторе на
procedure TForm1.AllLblMouseUp(
Сергей Бушин (2002-12-10 16:46:00) [2]Label1MouseUp - это просто наименование метода, а вот для кого элемента ее использовать это твое дело:
Label1.OnMouseUp:=Label1MouseUp;
Label2.OnMouseUp:=Label1MouseUp;
в результате и Label1 и Label 2 будут вести себя при отпускании кнопки мыши одинаково. Тоже самое на много быстрее сделать для через Инспектор объектов.
А вообще любое событие можно переопределять в run-time, это назвается делегированием. Например:
Label1.OnMouseUp:=Lable1MouseUp; //обрабатаваем так
...
Label1.OnMouseUp:=Label2MouseUp;// обрабатываем по другому
...
Label1.OnMouseUp:=Label3MouseUp;// обрабатваем по третьему
Maz (2002-12-10 15:16:00) [3]Пасиб, все получилось работает...
но я не могу никак понять, почему показывает:
procedure TForm1.Label1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
а обработка идет для всех... ???
Андрей Прокофьев (2002-12-09 16:05:00) [4]Назначь всем один обработчик события
Андрей Прокофьев (2002-12-09 16:04:00) [5]Назначь всем одно событие и в нем пиши
With (sender as TLabel) do
...
end;
Виктор Щербаков (2002-12-09 16:03:00) [6]Назнач всем меткам один обработчик.