|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.11.2013, 13:50 | #1 |
Пользователь
Регистрация: 02.04.2013
Сообщений: 51
|
WM_CHAR
Здравствуйте. Пишу компонент для Delphi, и появилась необходимость обрабатывать нажатие клавиш внутри этого компонента. Использую для этого сообщение WM_CHAR. Обычные клавиши обрабатываются нормально, но как быть с виртуальными (стрелки, Delete и т.д.)? При их нажатии это сообщение вообще не возникает. Возможно, я делаю что-то не так или для таких клавиш существует какое-то другое сообщение? WM_KEYDOWN тоже не работает.
|
16.11.2013, 14:08 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Может оно и работает, но самому окну ничего не приходит?
I'm learning to live...
|
16.11.2013, 14:29 | #3 |
Пользователь
Регистрация: 02.04.2013
Сообщений: 51
|
Установил на форму Edit, проверил, в нем эти кнопки работают (onKeyDown). Или я не так понял?
|
16.11.2013, 14:40 | #4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ну в нем они и будут работать, там все описано красиво )
Цитата:
I'm learning to live...
|
|
16.11.2013, 14:58 | #5 |
Пользователь
Регистрация: 02.04.2013
Сообщений: 51
|
Да, компонент находится под фокусом. Тем более, что остальные кнопки (обычные символы) в этом сообщении обрабатываются нормально. Для проверки написал здесь единственную строку: 'Halt;'. При нажатии любой кнопки кроме стрелок, Delete и т.д. программа закрывается.
|
16.11.2013, 20:06 | #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 |