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

 
Как избавиться от автоповтора клавиатуры, Как избавиться от автоповтора клавиатуры
n1919
Отправлено: 29.10.2003, 07:50


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







// ...
int i = 0;

void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
i++;
Label1->Caption = AnsiString(i);
}

//...

Жмем клавишу и держим. Счетчик крутится засчет автоповтора.
Как сделать, чтобы этого не было ?
Т.е. счетчик менялся только при нажатии.

Есть более-менее простой способ ?
(Отключать автоповтор совсем — лучше не надо.
Скорее, просто как-нибудь отличать события собственно
нажатия и события как результат автоповтора )
seg_r
Отправлено: 29.10.2003, 13:04


Дежурный стрелочник

Группа: Участник
Сообщений: 74



используй winapi, типа Функция GetKeyState

Описание:
function GetKeyState(VirtKey: Integer): Integer;

Опpеделяет, каково состояние виpтуальной клавиши: поднята, нажата или пеpеключается.

Паpаметpы:
VirtKey: Виpтуальная клавиша.

Возвpащаемое значение:
Клавиша нажата, если стаpший бит pавен 1, и клавиша пеpеключается, если младший бит pавен 1.

функция находится в файле user32.dll

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