Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.10.16;
Скачать: CL | DM;

Вниз

Как форме перхватить нажание VK_LEFT?   Найти похожие ветки 

 
Alex_C   (2011-06-22 17:13) [0]

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


 
RWolf ©   (2011-06-22 17:17) [1]

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


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

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


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

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


 
Alex_C   (2011-06-23 10:10) [4]


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


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


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

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


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


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


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


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


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


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

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


 
Cobalt ©   (2011-06-24 15:12) [8]

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



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

Текущий архив: 2011.10.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.009 c
1-1268895548
Kolan
2010-03-18 09:59
2011.10.16
Как узнать что значит Event в сообщении?


2-1309343844
bon
2011-06-29 14:37
2011.10.16
delphi & c#


1-1269026411
Zoom
2010-03-19 22:20
2011.10.16
размер массива через указатель


2-1309442338
Pcrepair
2011-06-30 17:58
2011.10.16
Программа "ест" память, потом сбой


2-1308936747
vegarulez
2011-06-24 21:32
2011.10.16
как правильно вставить декларацию процедуры?