![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 02.04.2013
Сообщений: 51
|
![]()
Здравствуйте. Пишу компонент для Delphi, и появилась необходимость обрабатывать нажатие клавиш внутри этого компонента. Использую для этого сообщение WM_CHAR. Обычные клавиши обрабатываются нормально, но как быть с виртуальными (стрелки, Delete и т.д.)? При их нажатии это сообщение вообще не возникает. Возможно, я делаю что-то не так или для таких клавиш существует какое-то другое сообщение? WM_KEYDOWN тоже не работает.
|
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Может оно и работает, но самому окну ничего не приходит?
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 02.04.2013
Сообщений: 51
|
![]()
Установил на форму Edit, проверил, в нем эти кнопки работают (onKeyDown). Или я не так понял?
|
![]() |
![]() |
![]() |
#4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Ну в нем они и будут работать, там все описано красиво )
Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 02.04.2013
Сообщений: 51
|
![]()
Да, компонент находится под фокусом. Тем более, что остальные кнопки (обычные символы) в этом сообщении обрабатываются нормально. Для проверки написал здесь единственную строку: 'Halt;'. При нажатии любой кнопки кроме стрелок, Delete и т.д. программа закрывается.
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 02.04.2013
Сообщений: 51
|
![]()
Всем спасибо, проблема решена. Сообщение CN_KeyDown нормально обрабатывает виртуальные клавиши. Когда использовал сообщение WM_KeyDown, при нажатии стрелок компонент передавал свой фокус другому компоненту. В CN_KeyDown такой проблемы нет.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с перехватом WM_CHAR через хук | wanes101 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 28.07.2013 06:59 |