C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Клавиши, Нажатие большого количества клавиш
Petr
Отправлено: 26.10.2005, 17:01


Не зарегистрирован







Подскажите пожалуйста. Мне нужно сделать следующее.
Пока удерживаются несколько клавиш на клавиатуре к примеру A,S,D,F
выполняется некоторое действие, как я отпускау хотя бы одну клавишу, то
происходит еще какое-то действие.
olegenty
Отправлено: 26.10.2005, 17:13


Ветеран

Группа: Модератор
Сообщений: 2412



ну навскидку
1. Породить set< ...> для хранения множества нажатых клавишь
2. Написать потоковый класс, который будет делать нечто необходимое.
3. Написать некую функцию, которая будет запускать этот поток, если все необходимые клавиши присутствуют в set и функцию, которая этот поток будет прерывать, если набор клавишь отличный от необходимого.
4. Написать два обработчика событий: OnKeyDown и OnKeyUp, в которых заполнять/чистить set и в зависимости от его состояния запускать/прерывать поток, либо ничего не делать.
5. Протестировать и пользоваться.

Отредактировано olegenty — 26/10/2005, 18:15
Guest
Отправлено: 27.10.2005, 20:56


Не зарегистрирован







Большое спасибо за ответ.
Petr
Отправлено: 30.10.2005, 21:01


Не зарегистрирован







А можно поподробнее о функцие set<>, можно какой-нибудь маленький примерчик.
olegenty
Отправлено: 31.10.2005, 09:20


Ветеран

Группа: Модератор
Сообщений: 2412



это не функция, это класс-множество. см. литературку по STL.

Вернуться в Вопросы программирования в C++Builder