![]() |
|
|
![]()
|
|
| mr.Anderson |
|
||||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
Так. У меня все еще хранится на компе страничка, где все коды клавиш написаны. Там черным по белому написано, что код клавиши "Стрелка вправо" 39. Я написал в событии OnKeyPress компонента Эдит1 вот такое:
Но ничего не происходит! По нажатию стрелки вправо курсор в первом Эдите просто передвигается на следующую позицию, что он и делает всегда. Что не так? Добавлено @ 20:08 Попробовал написать консольную программу
Так эта програ выдала, что код клавиши "Стрелка вправо" - 77 (или 79, не помню уже) - так вот, попробовал подставить ее код в вышеприведенный фрагмент - ноль реакции. |
||||
|
|||||
| DemoCode |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 890 Регистрация: 20.10.2005 Где: Россия Репутация: 1 Всего: 41 |
Всё правильно. В OnKeyPress передаётся символ. Используй OnKeyDown и должно заработать
-------------------- Жить стало лучше, жить стало веселей © И.В. Сталин |
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
Действительно, все получилось.... А почему же тогда строчка
if(Key==13) Button12Click(Sender); работает и в событии OnKeyPress? |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: нет Всего: 99 |
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
По русски говоря OnKeyPress предназначен только для обработки "печатных" символов. Если нужно "непечатные"( не путать с матом -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| Adil' |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 26.8.2004 Где: Питер Репутация: 4 Всего: 15 |
Если не совсем по-русски, но чуть более подробно - OnKeyDown - вызывается при обработке сообщения WM_KEYDOWN, которое посылается при нажатии любой клавиши, а OnKeyPress вызывается при обработке сообщения WM_CHAR, которое посылается, если функция TranslateMessage, грубо говоря, смогла "конвертнуть" код клавиши при том же самом WM_KEYDOWN в ASCII-символ. Для стрелок она этого сделать не может (как и, если не ошибаюсь, для всех клавиш с расширенным кодом).
-------------------- Удачи |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |