Вниз
Скачать: 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.008 c
2-1238133229
Alexandra
2009-03-27 08:53
2009.05.24
Как создать LargeButton в dxBarManager?


3-1221113863
Fynjy
2008-09-11 10:17
2009.05.24
Dynamic SQL error SQL error code =-104


4-1197823589
MetalFan
2007-12-16 19:46
2009.05.24
ReadFile c Overlapped, ньюансы работы.


10-1157121608
MixAnOL
2006-09-01 18:40
2009.05.24
Как установить OLE объект из dll в delphi


4-1209468741
bon
2008-04-29 15:32
2009.05.24
Terminal Service




   Наверх