Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

несколько 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]

Назнач всем меткам один обработчик.


Наверх

Титульная страница Поиск, карта сайта Написать письмо