![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как определить на какой объект был совершен клик мыши
Александр123123 © (2006-04-22 06:13:00)Здраствуйте подскажите пожалуйста как определить на какой объект был совершен клик мыши. У меня на несколько объектов стоит один обработчик, в котором необходимо считать свойства объекта
procedure TForm1.FormClick(Sender: TObject);
в процедуре Click как я понимаю сам объект не передается?
Quattro (2006-04-22 23:59:00) [1]а почему именно OnMouseUp?? разве вот так будет по лапански??
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(Sender.ClassName);
end;
Мефисто (2006-04-22 18:56:00) [2]Quattro © (22.04.06 16:51) [9]
Неважно чье это будет событие. Закодить 1 раз обработчик события OnMouseUp у одного контрола, а остальным контролам можно просто на данный обработчик ссылаться.
Anatoly Podgoretsky © (22.04.06 16:45) [8]
Таки выкрутился :) Да... Знание сила ;)
Quattro (2006-04-22 16:51:00) [3]OnMouseUp чего?формы?
Anatoly Podgoretsky (2006-04-22 16:45:00) [4]ControlAtPos
Anatoly Podgoretsky (2006-04-22 16:43:00) [5]Ну а для других "контролов" допольнительные действия, обработка то все равно в OnMouseUp
Мефисто (2006-04-22 15:12:00) [6]Leonid Troyanovsky © (22.04.06 14:47) [5]
Как я подозреваю
Anatoly Podgoretsky © (22.04.06 14:35) [3]
TForm.ActiveControl ?
Вопрос автора:
>> как определить на какой объект был совершен клик мыши
Но ActiveControl подходит только для контролов производных от TWinControl и то, как вроде для тех TWinControl которые умеют получать фокус.
Ну, а если применительно например к TButton, тогда на все 100% с АП согласен ;)
Leonid Troyanovsky (2006-04-22 14:47:00) [7]
> Мефисто (22.04.06 14:42) [4]
> Утверждение ложно :)
Доказывай.
--
Regards, LVT.
Мефисто (2006-04-22 14:42:00) [8]Anatoly Podgoretsky © (22.04.06 14:35) [3]
Утверждение ложно :)
Anatoly Podgoretsky (2006-04-22 14:35:00) [9]ActiveControl
Quattro (2006-04-22 14:08:00) [10]то есть нужно делать проверку??...например если на форме есть ТБуттон и ТЛабел, то
if Sender is TButton then
begin
ShowMessage('Кнопка');
end;
if Sender is TLabel then
begin
ShowMessage('Лэйбл');
end;
так?
TUser (2006-04-22 08:58:00) [11]> в процедуре Click как я понимаю сам объект не передается?
Посмотри на параметр Sender: TObject. Это и есть сам объект.