-
Просто когда фокус, например, на кнопке, сообщения о стрелках и об Enter'е не ловятся. На каком компоненте должен быть фокус, чтобы можно было отметить все нажатия? P.S. Возможно, нубский вопрос, но я ответ не нашёл
-
> [0] Пётр (14.04.08 20:14)
фокус-покус.... ветка переместиться или закроется, если не соберешься с мыслями.
-
Поставить KeyPreview у формы + обработчик OnKeyPress формы. ?
-
Ладно, поставим вопрос по-другому. Как исправить следующий код, чтобы он ловил нажатия клавиш? procedure MyKeyDown (var Key: Word); message WM_KEYDOWN;
...
procedure TfrmMediaPlayer.MyKeyDown(var Key: Word);
begin
case key of
vk_up: ...;
vk_down: ...;
vk_delete: ...;
end;
end;
-
О, Kolan, спасибо, ща попробую! Не знал про KeyPreview.
-
Блин. Фишка в том, что стрелки и Enter (в каких-то случаях) не генерируют событий OnKeyDown :(
-
KeyPreview то работает, то не работает, в зависимости от фокуса-покуса
-
OnShortCut ?
-
KeyPreview то работает, то не работает, в зависимости от фокуса-покуса Слабо верится.
-
> Слабо верится.
При нажатии на стрелку иногда просто меняется фокус, иногда ещё и вызывается событие. А как насчёт WN_KEYDOWN? Как с ним написать процедуру?
-
Читай справку: Navigation keys (Tab, BackTab, the arrow keys, and so on) are unaffected by KeyPreview because they do not generate keyboard events.
-
Я это и перевёл. Так как их нажатия отловить?
-
Так-с, стрелки работают на MaskEdit'ах. Enter пока не нашёл.
|