Форум: "Основная";
Текущий архив: 2002.12.23;
Скачать: [xml.tar.bz2];
Внизнесколько Label-ов Найти похожие ветки
← →
Maz (2002-12-09 16:01) [0]Всем привет.
есть такая проблемка, у меня много меток, для которых прописываются события на вход и выход мыши.... для всех меток около 20 прописываются одни и теже команды....
как это все сгрупировать.... в более компактную форму?
заранее спасибо
← →
Виктор Щербаков (2002-12-09 16:03) [1]Назнач всем меткам один обработчик.
← →
Андрей Прокофьев (2002-12-09 16:04) [2]Назначь всем одно событие и в нем пиши
With (sender as TLabel) do
...
end;
← →
Андрей Прокофьев (2002-12-09 16:05) [3]Назначь всем один обработчик события
← →
Maz (2002-12-10 15:16) [4]Пасиб, все получилось работает...
но я не могу никак понять, почему показывает:
procedure TForm1.Label1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
а обработка идет для всех... ???
← →
Сергей Бушин (2002-12-10 16:46) [5]Label1MouseUp - это просто наименование метода, а вот для кого элемента ее использовать это твое дело:
Label1.OnMouseUp:=Label1MouseUp;
Label2.OnMouseUp:=Label1MouseUp;
в результате и Label1 и Label 2 будут вести себя при отпускании кнопки мыши одинаково. Тоже самое на много быстрее сделать для через Инспектор объектов.
А вообще любое событие можно переопределять в run-time, это назвается делегированием. Например:
Label1.OnMouseUp:=Lable1MouseUp; //обрабатаваем так
...
Label1.OnMouseUp:=Label2MouseUp;// обрабатываем по другому
...
Label1.OnMouseUp:=Label3MouseUp;// обрабатваем по третьему
← →
Anatoly Podgoretsky (2002-12-10 16:53) [6]Maz (10.12.02 15:16)
Переименуй в инспекторе на
procedure TForm1.AllLblMouseUp(
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.12.23;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c