Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как форме перхватить нажание VK_LEFT? [D7, XP]


Alex_C ©   (2011-06-22 17:13:00) 

Мне нужно, что бы форма по KeyPreview := True в событии OnKeyDown перехватывала назатие кнопок стрелок. Пока не получается. В событии OnKeyDown формы эти кнопки не срабатывают.


Cobalt   (2011-06-24 15:12:00) [1]

> Еще можно попробовать написать для формы обработчик сообщения
> WM_GETDLGCODE и в его результат добавить флаг DLGC_WANTARROWS.


Alex_C   (2011-06-23 11:32:00) [2]

Удалял по одному контролу. Действительно ScrollBox перехватывает нажания стрелок. И как это устранить?


Alex_C   (2011-06-23 10:46:00) [3]


> Теоретически, не должен, это же Preview - то есть, СНАЧАЛА
> форма


Да бред какой то... сейчас сделал пустую форму и на нее накидывал по очередности компоненты, что у меня в программе - без проблем все отлавливается.
Кто же у меня в программе вредитель?
Самое смешное - программа то не такая уж и сложная, кода не много - куда уходят нажатия стрелок - не понятно....


> написать для формы обработчик сообщения


В итоге так наверное и сделаю. Просто интересно все же в чем причина...


Юрий Зотов   (2011-06-23 10:39:00) [4]

Теоретически, не должен, это же Preview - то есть, СНАЧАЛА форма, потом контрол-адресат. А практически - шут его знает. Попробуйте удалить или задизаблить ScrolBox и проверьте. Еще можно попробовать написать для формы обработчик сообщения WM_GETDLGCODE и в его результат добавить флаг DLGC_WANTARROWS.


Alex_C   (2011-06-23 10:10:00) [5]


> И сейчас, как обычно, выяснится, что это был OnKeyPress.
> ..


Улыбнуло :) Да так быват.
Но вот не в данном случае. Нес события OnKeyPress. Кто-то из компонент на форма перехватывает. VK_ESCAPE, VK_DEL - отлавливаются. VK_LEFT и др. стрелки - нет. На форме находится  ScrollBox - случаем не он перехватывает?


Юрий Зотов   (2011-06-22 17:37:00) [6]

И сейчас, как обычно, выяснится, что это был OnKeyPress...
:o)


Alex_C   (2011-06-22 17:34:00) [7]

Да вот я знаю, что срабатывают, но у меня их кто-то пеерхватывает...


RWolf   (2011-06-22 17:17:00) [8]

Срабатывают.


Наверх

Титульная страница Поиск, карта сайта Написать письмо