Текущий архив: 2009.05.24;
Скачать: CL | DM;
Вниз
Как "передать управление клавиатурой" компоненту типа TPanel? Найти похожие ветки
← →
Drowsy (2009-04-07 20:37) [0]На форме разные управляющие компоненты (кнопки, меню).
И, например, есть панель, на которой PaintBox (PB).
Как сделать так, чтобы на нажатие клавиш "реагировала" панель, а не
другие компоненты (клавиша left -> PB влево, клавиша right -> PB вправо, "" ENter" -> изменение цвета.......
← →
Игорь Шевченко © (2009-04-07 20:55) [1]очевидно искать/писать самому наследника панели, который умеет обрабатывать ввод с клавиатуры. Иначе никак.
← →
Drowsy (2009-04-07 21:03) [2]Я так и сделал. A как передать ей свойства активного контрола?
← →
Игорь Шевченко © (2009-04-07 21:36) [3]
> A как передать ей свойства активного контрола?
Активным контролом в момент обработки панелью нажатия на клавиши будет сама панель. Если у тебя несколько контролов, которые ты хочешь двигать, то стоит задуматься о том, как помечать такой контрол искуственно (например, как в дизайнере форм Delphi), тогда в обработчике панели надо будет найти этот помеченный контрол и управлять его свойствами.
← →
Drowsy (2009-04-07 22:25) [4]Да, но если форма терет активность, например, если её свернуть, а потом раскрыть, то она перестаёт реагировать, т.к. ей не присвоено свойство активного компонента.
← →
Игорь Шевченко © (2009-04-07 22:48) [5]Можно положить на форму TApplicationEvents и в его обработчике события OnActivate устанавливать фокус на панель, например. Можно еще как-нибудь.
← →
аноним (2009-04-08 19:10) [6]А порядок нельзя поменять в котором контролы будут получать фокус ?
Страницы: 1 вся ветка
Текущий архив: 2009.05.24;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.01 c