Использование клавиши для переключения бул - PullRequest
0 голосов
/ 13 июня 2011

Я пишу приложение для Windows C ++, которое я хотел бы, чтобы обнаружение нажатия клавиши (для этого примера, используя букву 'S'). При нажатии клавиши программа должна включать или выключать значение bool (в зависимости от его текущего состояния).

Я знаю, что в консольных приложениях вы можете использовать cin.get, но я незнаком с Win32 API. Я также хотел бы быть уверен, что при нажатии клавиши событие регистрируется только один раз, то есть, если пользователь нажимает «S», но какое-то время удерживает клавишу, программа должна обнаруживать только «S»; не 'SSSSSSS'.

1 Ответ

0 голосов
/ 13 июня 2011

Итак, у вас есть цикл сообщений Windows, верно?Захватите WM_KEYDOWN и проверьте, включен ли он.

Но я предполагаю, что вы на самом деле используете фреймворк, будь то MFC, QT или что-то еще.Фреймворк обернет ваш цикл сообщений Windows и позволит вам захватывать ключевые события, но если вы хотите, чтобы мы рассказали вам, как, вы должны будете сказать, какой фреймворк вы используете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...