Обработка события приложения

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Обработка события приложения

Сообщение VirtUX » 21.10.2008 15:43:32

Как узнать, что от какого-то объекта поступило событие?
Конкретно интересует способ для определения объекта, по которому щелкнули мышью.
P.S. Почти все объекты создаются во время выполнения, по мере надобности. Т.е. заранее не известно, что есть на форме.

Добавлено спустя 1 час 47 секунд:
Разобрался. Узнается обработчиком Application.OnUserInput. Теперь возник другой вопрос:
В вышеуказанном "обработчике события" Sender всегда указыват на TApplication. Есть-ли в TApplication свойства положения курсора мыши? Или как узнать координаты мыши?
Последний раз редактировалось VirtUX 21.10.2008 16:46:44, всего редактировалось 1 раз.
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: Обработка события приложения

Сообщение Alexx2000 » 21.10.2008 16:46:17

VirtUX писал(а):В вышеуказанном "обработчике события" Sender всегда указыват на TApplication. Есть-ли в TApplication свойства положения курсора мыши? Или как узнать координаты мыши?

Mouse.CursorPos не подойдет?
Аватара пользователя
Alexx2000
постоялец
 
Сообщения: 488
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи

Re: Обработка события приложения

Сообщение VirtUX » 21.10.2008 16:49:47

Alexx2000 писал(а):Mouse.CursorPos не подойдет?
Очень даже подойдет - спасибо за прочистку склероза :)
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: Обработка события приложения

Сообщение Alexx2000 » 21.10.2008 16:51:00

И еще функция FindLCLControl(Mouse.CursorPos)
Аватара пользователя
Alexx2000
постоялец
 
Сообщения: 488
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи

Re: Обработка события приложения

Сообщение alexs » 21.10.2008 17:02:30

VirtUX писал(а):Почти все объекты создаются во время выполнения, по мере надобности

А почему при создании компоненты не присваивать ей стандартный обработчик - OnClick? напиши один обработчик для таких компонент - sender будет в нём указывать на компонент, который его вызвал.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Обработка события приложения

Сообщение VirtUX » 21.10.2008 17:24:01

alexs писал(а):А почему при создании компоненты не присваивать ей стандартный обработчик - OnClick? напиши один обработчик для таких компонент - sender будет в нём указывать на компонент, который его вызвал.
Потому, что часто мышь может кликать не по тому объекту, что нужен. Объект может быть и перекрыт другим, а вот исходя от положения мыши (если она над ним) свойства меняются.
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 48

Рейтинг@Mail.ru