Как узнать , что клавиша нажата ?...

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

Как узнать , что клавиша нажата ?...

Сообщение stabasker » 28.04.2003 (Пн) 22:29

Как можно узнать, что пользователь ПК нажал какую либо клавишу
на клавиатуре если он работает с другой программой (типа WORD)
или в окне DOS ?

NJ
Обычный пользователь
Обычный пользователь
 
Сообщения: 65
Зарегистрирован: 10.12.2001 (Пн) 9:02
Откуда: Russia, Tomsk

Сообщение NJ » 29.04.2003 (Вт) 4:58

Ай-ай! Попадёт тее от RayShade... :wink:
Такая тема была уже не раз. Поищи по форуму... Или за раз ходь сюды: http://bbs.vbstreets.ru/viewtopic.php?t=20
-=*=-
Трудно быть хорошим.

ZeroX
Бывалый
Бывалый
 
Сообщения: 207
Зарегистрирован: 29.04.2003 (Вт) 12:36
Откуда: Мой адрес не дом и не улица, мой адрес Советский Союз

Сообщение ZeroX » 29.04.2003 (Вт) 12:54

Используй API-функцию GetKeyEvent
Исходиков под рукой сейчас нет, найду обязательно дам :wink:
Каждый warning мечтает стать error'om

stabasker
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 28.04.2003 (Пн) 22:00
Откуда: Israel

Как узнать , что клавиша нажата ?...

Сообщение stabasker » 29.04.2003 (Вт) 21:21

Функция GetAsyncKeyState конечно не плохая , но окне DOS
она безполена.

Может есть что-то по круче ????

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 30.04.2003 (Ср) 6:30

есть! глобальный хук на клавиатуру.
возможно эти ссылки тебе помогут:
http://vbrussian.com/Controls.asp?Page=4 - №31, №33, №34
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

f0rbeed
Обычный пользователь
Обычный пользователь
 
Сообщения: 68
Зарегистрирован: 18.12.2002 (Ср) 17:51
Откуда: Russia

Сообщение f0rbeed » 03.05.2003 (Сб) 13:34

А как можно отследить нажатие hotkey хотя бы в текстовом поле? Мне надо так что бы по нажатию Enter выполнялось действие, а по Shift+Enter перевод строки, или наоборот. Желательно без использования DLL'ок
Так быстро, что незаметно...

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 04.05.2003 (Вс) 12:09

f0rbeed писал(а):А как можно отследить нажатие hotkey хотя бы в текстовом поле? Мне надо так что бы по нажатию Enter выполнялось действие, а по Shift+Enter перевод строки, или наоборот. Желательно без использования DLL'ок

ну это просто

Код: Выделить всё
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyReturn Then
        If Shift = vbShiftMask Then
            'действие если нажат Shift+Enter
        Else
            'действие если нажат Enter
        End If
    End If
End Sub


это когда клавиша нажимается. можно повесить и на событие KeyUp
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

f0rbeed
Обычный пользователь
Обычный пользователь
 
Сообщения: 68
Зарегистрирован: 18.12.2002 (Ср) 17:51
Откуда: Russia

Сообщение f0rbeed » 04.05.2003 (Вс) 15:50

А как же теперь игнорировать перевод строки если нажат Enter?
Так быстро, что незаметно...

f0rbeed
Обычный пользователь
Обычный пользователь
 
Сообщения: 68
Зарегистрирован: 18.12.2002 (Ср) 17:51
Откуда: Russia

Сообщение f0rbeed » 04.05.2003 (Вс) 20:09

А все, можно очищать при KeyUp'e. (в моем случае) Спасибо!
Так быстро, что незаметно...


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

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

Сейчас этот форум просматривают: Yandex-бот и гости: 61

    TopList