![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TGraphicControl - OnKeyDown
d_oleg © (2002-10-11 10:28:00)Подскажите пожалуйста, как заставить потомка от TGraphicControl ловить нажатия клавиш?
han_malign (2002-10-11 11:09:00) [1]причем CN_KEYDOWN это WM_KEYDOWN+CN_BASE приходит при нажатии кнопки во время захвата Control-а мышью (для Drag-n-Drop)
(единственное место где я нашел его с поясннением, хотя в TWinControl с ним какие то пляски с бубном)
Skier (2002-10-11 11:05:00) [2]>han_malign
Ага. Точно. Был не прав.
han_malign (2002-10-11 11:02:00) [3]2 Skier
CM_DIALOGKEY пользовательское сообщение, которое вызывается в TWinControl по CN_KEYDOWN, а человеку нужно в TGraphicControl
d_oleg (2002-10-11 10:54:00) [4]Ok, понял. Попробую.
Skier (2002-10-11 10:54:00) [5]>d_oleg
> для управления с клавы движением фигуры, которую отрисовываю
> на TGraphicControl
procedure CMDialogKey(var Message: TCMDialogKey); message CM_DIALOGKEY; ?
han_malign (2002-10-11 10:52:00) [6]а он у тебя фокус получает?
без фокуса он и не должен ничего ловить.
З.Ы. А фокус появляется опять таки с TWinControl, так что тебе еще фокус протаскивать.
З.З.Ы Насколько я понял, ты делаешь Control с тонким интерфейсом, тогда в controls.pas и выдергивай все что тебе нужно из TWinControl.
d_oleg (2002-10-11 10:47:00) [7]ну в-принципе любые клавиатурные. для управления с клавы движением фигуры, которую отрисовываю на TGraphicControl.
Skier (2002-10-11 10:36:00) [8]>d_oleg
А какие клавиши тебя интересуют ?
d_oleg (2002-10-11 10:34:00) [9]если б так было всё просто. не ловит он так нифига.
han_malign (2002-10-11 10:33:00) [10]
private
procedure WMKeyDown(var Message: TWMKeyDown); message WM_KEYDOWN;
что стоит залезть в Controls.pas и посмотреть как там все реализованно,
а вообще, для этих вещей следует использовать более функциональный TCustomControl