Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.007 c
2-1239643253
VoznikVopros
2009-04-13 21:20
2009.05.24
Как изменить заголовок окна при вызове ShowMessage()?


2-1239291893
SP
2009-04-09 19:44
2009.05.24
Как из cgi-приложения узнать запущены ли другие его копии?


2-1238993664
Alex_C
2009-04-06 08:54
2009.05.24
Как быстрее обратиться к полям таблицы?


3-1221207594
ganda
2008-09-12 12:19
2009.05.24
Вопрос по запросам


6-1203162895
s-vadim
2008-02-16 14:54
2009.05.24
Локальный чат




   Наверх