Re: Элементы управления
От: Sinclair Россия https://github.com/evilguest/
Дата: 22.04.02 12:03
Оценка:
Здравствуйте Белая Ворона, Вы писали:

БВ> Возникла проблемка. На форме находится PageControl, в нём соответственно 3 TabSheet, на них куча элементов управления. Мне нужно отслеживать правый клик и DblClick на любом из этих элементов управления в одном обработчике. Можно было наваять множество обработчиков (для каждого Edit, Button и т.д.), но тогда код разрастается до не прилично больших размеров.

БВ>Решила RightClick и DblClick заменить на PopupMenu с двумя кнопками и в цикле по Controls[], прогоняя каждый элемент, просто проверять у какого из них сейчас находится фокус. Но возникла другая проблема: TTabSheet не является наследником TControl, соответственно про Focused можно забыть. Помогите кто-нибудь!!!
БВ>Я уже устала от этого проэкта и от неожиданных его проблем...
А что, просто забиндить один и тот же обработчик на все контролы не судьба???
Т.е. создаем published procedure OnControlDoubleClick(Sender: TObject); в нашей форме и вперед — просто прописываем ее всем контролам. В Object inspector совершенно необязательно каждый раз дважды кликать по каждой строке обработчика события — можно просто нажать кнопочку со стрелкой вниз, и он покажет все совместимые методы-обработчики.
В процедуре не надо никаких фокусов — Sender и будет тем, по кому кликнули.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.