![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 11.04.2007
Сообщений: 36
|
![]()
Скажите пожалуйста, можно ли в процедуре OnKeyDown описать символьные клавишы, к примеру A,D. И вообще где можно найти коды к символьным клавишам?
|
![]() |
![]() |
![]() |
#2 |
_________
Пользователь
Регистрация: 27.03.2007
Сообщений: 69
|
![]()
Если тебя интересуют виртуальные коды, то найти их описание можно в модуле Windows. Но там придётся поморочиться с регистром и раскладкой, поэтому лучше воспользуйся этой функцией из проги (по-моему, zetrix-a) KeyHook:
Код:
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 11.04.2007
Сообщений: 36
|
![]()
Прости, я пока что не очень еще силен в Delphi. Поясни пожалуйста как мне использоваться данную ф-цию в моем случае. В общем мне надо следущее:
procedure TForm1.BitBtn1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key = VK_left then showmessage('работает1'); if key = VK_right then showmessage('работает2'); end; Я хочу что бы вместо клавишь влево и вправо(стрелок) у меня были задействованы символьные клавишы. |
![]() |
![]() |
![]() |
#4 |
_________
Пользователь
Регистрация: 27.03.2007
Сообщений: 69
|
![]() Код:
|
![]() |
![]() |
![]() |
#5 |
Heavy metal
Пользователь
Регистрация: 02.04.2007
Сообщений: 42
|
![]()
А так не проще?
Код:
|
![]() |
![]() |
![]() |
#6 |
Владимир М.
Участник клуба
Регистрация: 30.10.2006
Сообщений: 1,289
|
![]()
хронология постов тут - от сложного к простому
![]()
Берегите друг друга!
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 11.04.2007
Сообщений: 36
|
![]()
СПАСИБО ВСЕМ ОГРОМНОЕ!!!)))
![]() |
![]() |
![]() |
![]() |
#8 | |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
![]() Цитата:
(ORD возвращает ASCII код символа, а у нас Юникод) Последний раз редактировалось zetrix; 12.04.2007 в 14:33. |
|
![]() |
![]() |
![]() |
#9 |
Heavy metal
Пользователь
Регистрация: 02.04.2007
Сообщений: 42
|
![]()
Параметр Key в обработчике OnKeyDown - это не ASCII или Unicode символ, а Virtual-Key code. Он НЕ ЗАВИСИТ ни от раскладки клавиатуры, ни от состояния клавиши Shift.
А Ord('<заглавная английская буква>') - это просто метод получения Virtual-Key code для определённой символьной клавиши. Компилятор просто поставит вместо Ord('A') константу. Почитай справку Дельфи по теме "Virtual Key Codes". |
![]() |
![]() |
![]() |
#10 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
![]()
Что-то я с чем-то перепутал... Спасибо
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
помощь в событии onkeydown | Titan123 | Общие вопросы Delphi | 2 | 11.08.2008 17:26 |
KOL onkeydown формы | Simply-Art | Помощь студентам | 2 | 29.07.2008 17:22 |
Люди,помогите с процедурой на выход! | Alexij | Общие вопросы Delphi | 5 | 08.06.2008 13:43 |
Помогите с процедурой... | Arkuz | Помощь студентам | 10 | 15.05.2008 08:56 |
помогите с процедурой на VBA | Exo | Microsoft Office Excel | 2 | 06.05.2008 10:53 |