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

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

как определить на какой объект был совершен клик мыши


Александр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. Это и есть сам объект.


Наверх

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