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

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

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

Ответить
Аватара пользователя
VirtUX
энтузиаст
Сообщения: 880
Зарегистрирован: 05.02.2008 09:52:19
Откуда: Крым, Алушта

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

Сообщение VirtUX »

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

Добавлено спустя 1 час 47 секунд:
Разобрался. Узнается обработчиком Application.OnUserInput. Теперь возник другой вопрос:
В вышеуказанном "обработчике события" Sender всегда указыват на TApplication. Есть-ли в TApplication свойства положения курсора мыши? Или как узнать координаты мыши?
Последний раз редактировалось VirtUX 21.10.2008 16:46:44, всего редактировалось 1 раз.
Аватара пользователя
Alexx2000
постоялец
Сообщения: 491
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи
Контактная информация:

Сообщение Alexx2000 »

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

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

Сообщение VirtUX »

Alexx2000 писал(а):Mouse.CursorPos не подойдет?
Очень даже подойдет - спасибо за прочистку склероза :)
Аватара пользователя
Alexx2000
постоялец
Сообщения: 491
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи
Контактная информация:

Сообщение Alexx2000 »

И еще функция FindLCLControl(Mouse.CursorPos)
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

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

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

Сообщение VirtUX »

alexs писал(а):А почему при создании компоненты не присваивать ей стандартный обработчик - OnClick? напиши один обработчик для таких компонент - sender будет в нём указывать на компонент, который его вызвал.
Потому, что часто мышь может кликать не по тому объекту, что нужен. Объект может быть и перекрыт другим, а вот исходя от положения мыши (если она над ним) свойства меняются.
Ответить