S>Т.е. создаем published procedure OnControlDoubleClick(Sender: TObject); в нашей форме и вперед — просто прописываем ее всем контролам.
дополнение в OnCreate формы (это чтобы ручками ничего не делать)
for i := 0 to ComponentCount do
if (Component[i] is TEdit) then
TEdit(Component[i]).OnDoubleClick = OnControlDoubleClick;
в случае других контролов запись будет длиннее, но тоже не сложно.

Возникла проблемка. На форме находится PageControl, в нём соответственно 3 TabSheet, на них куча элементов управления. Мне нужно отслеживать правый клик и DblClick на любом из этих элементов управления в
одном обработчике. Можно было наваять множество обработчиков (для каждого Edit, Button и т.д.), но тогда код разрастается до не прилично больших размеров.
Решила RightClick и DblClick заменить на PopupMenu с двумя кнопками и в цикле по Controls[], прогоняя каждый элемент, просто проверять у какого из них сейчас находится фокус. Но возникла другая проблема: TTabSheet не является наследником TControl, соответственно про Focused можно забыть.

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