Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.09.2011, 22:33   #1
tolmik
Пользователь
 
Регистрация: 30.03.2011
Сообщений: 46
Сообщение События на нажатие клавиш на C++ Builder

Подскажите, как на С++ Builder на нажатие определенных клавиш (не кнопок!) прописать выполнение определенных действий. Например изменение переменной при нажатии стрелок(вправо-влево)
tolmik вне форума Ответить с цитированием
Старый 30.09.2011, 23:36   #2
SAMOUCHKA
Форумчанин
 
Регистрация: 07.08.2011
Сообщений: 576
По умолчанию

используй функцию _kbhit() в месте с функцией _getch() .
в студии работает думаю на билдере тоже
SAMOUCHKA вне форума Ответить с цитированием
Старый 30.09.2011, 23:45   #3
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
Смех

для Forms создай событие KeyPress.... или KeyDown... по усмотрению... и через код клавиши делай событие... например через case для нужных клавишь создай действия...
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 01.10.2011, 00:06   #4
SAMOUCHKA
Форумчанин
 
Регистрация: 07.08.2011
Сообщений: 576
По умолчанию

_getch ждет нажатие и возвращает код клавиши. напимер стрелки лево 75, право 77, низ 80, верх 72. это все тип char. дойдя до этой функции прога остановится если нет нажатой клавиши.
в месте с ней удобно использовать _kbhit. ход программы не останавливает. возвращает 1 если любая клавиша нажата.
вот здесь описано http://shatalov.su/step_by_step/
SAMOUCHKA вне форума Ответить с цитированием
Старый 01.10.2011, 00:17   #5
tolmik
Пользователь
 
Регистрация: 30.03.2011
Сообщений: 46
По умолчанию

а есть функция ктр не ожидает нажатия клавиши, а не зависимо от место исполнения программы начнет работать?
tolmik вне форума Ответить с цитированием
Старый 01.10.2011, 00:22   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
а есть функция ктр не ожидает нажатия клавиши, а не зависимо от место исполнения программы начнет работать?
Функция тут не причем, это уже наверно в сторону потоков надо.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 01.10.2011, 00:27   #7
tolmik
Пользователь
 
Регистрация: 30.03.2011
Сообщений: 46
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
это уже наверно в сторону потоков надо.
А что за потоки и как с ними работать? киньте ссылку на ликбез или объясните(лучше на примере). Зарание спасибо.
tolmik вне форума Ответить с цитированием
Старый 01.10.2011, 00:28   #8
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

я же говорю... прописать событие KeyPress для формы ... а там там уже через case для нужных клавишь действия.... когда нажмешь тогда и произойдет... ожидать нажатия не будет... ты же на билдере пишешь...
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 01.10.2011, 08:08   #9
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Используй функцию GetAsyncKeyState(IN int vKey);
ПАраметры vKey - виртуальный код клавиши.

Код:
GetAsyncKeyState('A');
<цикл вычислений>
if((GetAsyncKeyState(int('A')) << 1) != 0) Close();
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 01.10.2011, 09:17   #10
sir.andrey
Форумчанин
 
Регистрация: 06.12.2009
Сообщений: 380
По умолчанию

Ща ченить придумаем,
sir.andrey вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нажатие клавиш san-trane C# (си шарп) 3 23.06.2011 11:44
Нажатие клавиш свр Общие вопросы по Java, Java SE, Kotlin 2 26.09.2010 18:58
Нажатие клавиш.. KoBRaAndrey Общие вопросы Delphi 3 31.01.2010 18:56
Нажатие клавиш bashkos JavaScript, Ajax 6 23.09.2008 19:01
Нажатие клавиш VanDerKeen Win Api 1 03.06.2007 21:13