Вниз
Скачать: CL | DM;

TGraphicControl - OnKeyDown   Найти похожие ветки 

← →
d_oleg ©   (2002-10-11 10:28) [0]

Подскажите пожалуйста, как заставить потомка от TGraphicControl ловить нажатия клавиш?


← →
han_malign ©   (2002-10-11 10:33) [1]

private
procedure WMKeyDown(var Message: TWMKeyDown); message WM_KEYDOWN;

что стоит залезть в Controls.pas и посмотреть как там все реализованно,
а вообще, для этих вещей следует использовать более функциональный TCustomControl


← →
d_oleg ©   (2002-10-11 10:34) [2]

если б так было всё просто. не ловит он так нифига.


← →
Skier ©   (2002-10-11 10:36) [3]

>d_oleg
А какие клавиши тебя интересуют ?


← →
d_oleg ©   (2002-10-11 10:47) [4]

ну в-принципе любые клавиатурные. для управления с клавы движением фигуры, которую отрисовываю на TGraphicControl.


← →
han_malign ©   (2002-10-11 10:52) [5]

а он у тебя фокус получает?
без фокуса он и не должен ничего ловить.
З.Ы. А фокус появляется опять таки с TWinControl, так что тебе еще фокус протаскивать.
З.З.Ы Насколько я понял, ты делаешь Control с тонким интерфейсом, тогда в controls.pas и выдергивай все что тебе нужно из TWinControl.


← →
d_oleg ©   (2002-10-11 10:54) [6]

Ok, понял. Попробую.


← →
Skier ©   (2002-10-11 10:54) [7]

>d_oleg


> для управления с клавы движением фигуры, которую отрисовываю
> на TGraphicControl



procedure CMDialogKey(var Message: TCMDialogKey); message CM_DIALOGKEY; ?


← →
han_malign ©   (2002-10-11 11:02) [8]

2 Skier
CM_DIALOGKEY пользовательское сообщение, которое вызывается в TWinControl по CN_KEYDOWN, а человеку нужно в TGraphicControl


← →
Skier ©   (2002-10-11 11:05) [9]

>han_malign
Ага. Точно. Был не прав.


← →
han_malign ©   (2002-10-11 11:09) [10]

причем CN_KEYDOWN это WM_KEYDOWN+CN_BASE приходит при нажатии кнопки во время захвата Control-а мышью (для Drag-n-Drop)
(единственное место где я нашел его с поясннением, хотя в TWinControl с ним какие то пляски с бубном)



Страницы: 1 вся ветка

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



Память: 0.47 MB
Время: 0.011 c
14-68953
Сатир
2002-09-25 19:11
2002.10.21
VRML


3-68666
dias
2002-09-30 18:48
2002.10.21
Проблема с доступом к БД Paradox в сети


6-68902
ec
2002-08-20 12:24
2002.10.21
Проверка имени пользователя и пароля


1-68844
Толик
2002-10-09 14:41
2002.10.21
TComboBox и его стили


1-68726
Saninsky
2002-10-10 19:48
2002.10.21
Запуск DOS приложений из Delphi




   Наверх