Как очистить буфер клавиатуры?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
lomaster
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 02.11.2004 (Вт) 13:36

Как очистить буфер клавиатуры?

Сообщение lomaster » 26.11.2004 (Пт) 13:21

Как очистить буфер клавиатуры?
А то символы, введенные в дочерней форме и не востребованные там, вызывают ненужные срабатывания в материнской. Вот такая задачка.
Очевидно - юзать API. Но, все облазив, ничего подходящего не нашел :(

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 26.11.2004 (Пт) 13:57

Стандартный способ еще со времен DOS -- опрашивать клавиатуру до тех пор, пока буфер не опустеет.
Lasciate ogni speranza, voi ch'entrate.

lomaster
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 02.11.2004 (Вт) 13:36

Сообщение lomaster » 26.11.2004 (Пт) 14:22

т.е. в закрываемой дочерней форме в Form_Unload
надо прописать какую то ничего не возвращающую процедуру, просто опрашивающую клавиатуру ?
А какую попростче? (Что то ничего в голову не приходит :(

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 26.11.2004 (Пт) 14:58

Да куда уж проще?
В QB я пользовался INPUT$ и KEY$, в VB видимо надо использовать GetKeyboardState или что-то такое (API-Guide сейчас нет, точное название функции не скажу).
Lasciate ogni speranza, voi ch'entrate.

lomaster
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 02.11.2004 (Вт) 13:36

Сообщение lomaster » 26.11.2004 (Пт) 15:04

Вот в том то и дело что INPUT$ и KEY$ нет, а GetKeyboardState ИМХО просто сообщает состояние клавиатуры, оставляя буфер нетронутым :(
а может и вру... щас попробуем...

lomaster
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 02.11.2004 (Вт) 13:36

Сообщение lomaster » 26.11.2004 (Пт) 15:41

от GetAsyncKeyState - нулевой эффект :(
от GetKeyboardState вылетает вся прога...
да... разбираться надо...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 26.11.2004 (Пт) 16:07

lomaster писал(а):Вот в том то и дело что INPUT$ и KEY$ нет, а GetKeyboardState ИМХО просто сообщает состояние клавиатуры, оставляя буфер нетронутым :(
а может и вру... щас попробуем...

Да просто DoEvents вызови, чтобы все сообщения пролетели - и всё.
Изображение


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 18

    TopList