Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Как поймать нажатие кнопки


Автор: Competitor 6.5.2006, 13:17
Как поймать нажатие кнопки стрелка вверх или вниз при вводе с клавы?
Ну т.е. я ввожу строку. Если во время ввода строки, я нажимаю стрелка вверх или стрелка вних на клавиатуре, то должна срабатывать определенная функция. Как это сделать?
Наверное нужно вводить строку посимвольно в цикле. Но какие значения имеют эти кнопки?
Нужно ограничиться средствами С. 

Автор: LuckLess 6.5.2006, 13:23
если винда, то см. МСДН на WM_KEYDOWN 

Автор: Любитель 6.5.2006, 16:39
случайно, второй раз отправил 

Автор: Любитель 6.5.2006, 17:06
Для консоли:
Код

#include <conio.h>

// ...

void doUpArrowAction() { ... }
void doDownArrowAction() { ... }

// где-то при вводе
int key = _getch(); // в key код клавиши, можем привести к char
if (key == 0xE0) // значение для навигац. клавиши, в нек-рых компилерах 0
{
  key = _getch(); // собсно код самой навигац. клавиши
  if (key == 0x50)
    doDownArrowAction();
  else if (key == 0x48)
    doUpArrowAction();
}
// для других клавиш
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)