Описание
Событие OnClick наступает, если пользователь нажал и отпустил основную кнопку мыши, когда указатель мыши находился на компоненте. Это событие происходит если:
- Пользователь выбрал элемент в таблице, дереве, списке, выпадающем списке, нажав клавишу со стрелкой.
- Пользователь нажал клавишу пробела, когда кнопка или индикатор были в фокусе.
- Пользователь нажал клавишу Enter, а активная форма имеет кнопку по умолчанию, указанную свойством Default.
- Пользователь нажал клавишу Esc, а активная форма имеет кнопку прерывания, указанную свойством Cancel.
- Пользователь нажал клавиши быстрого доступа к кнопке или индикатору. Например, если свойство Caption индикатора записано как «Полужирный» и символ «P» подчеркнут, то нажатие пользователем комбинации клавиш Alt-P вызовет событие OnClick в этом индикаторе.
- Приложение установило в true свойство Checked радиокнопки RadioButton.
- Приложение изменило свойство Checked индикатора CheckBox.
- Вызван метод Click элемента меню.
Для формы событие OnClick наступает, если пользователь щелкнул на пустом месте формы или на недоступном компоненте.
Параметр обработчика Sender содержит объект, в котором произошло событие, и может использоваться для дифференцированной реакции на события в разных компонентах.
Классы
TControl
Определение
typedef void (__closure *TNotifyEvent)(System:: TObject* Sender);
__property Classes::TNotifyEvent OnClick
Пример
Один обработчик события OnClick может использоваться для обработки событий в различных компонентах. Если при этом требуется различать, в каком компоненте произошло событие, можно использовать параметр Sender, как в приведенном чисто демонстрационном примере, отображающем сообщение о том, в каком компоненте произошло событие.
В реальной программе, аналогичным образом проанализировав имя компонента, вы можете предусмотреть для разных компонентов разную реакцию.
ShowMessage("OnClick в "+((TControl *)Sender)->Name);