Программирование на Visual Basic

Простым сочетанием клавиш:

Введение

Многие пользователи предпочитают работать с горячими клавишами, нежели нажимать на кнопки или меню. Поэтому было бы правильнее включить их в свою программу. Сегодня мы и поговорим о горячих клавишах, вернее о способах их создания.

Способ №0 (&)

Для того, чтобы присвоить какому-либо элементу управления горячую клавишу, вставьте в его свойство Caption знак &. Сочетание клавиш получится следующим: ALT + символ, стоящий после знака &.
Это самый простой, но в то же время и самый ограниченный по возможностям способ.
Примечание: сочетания клавиш не должны повторяться

Способ №1 (События клавиш)

Для создания горячих клавиш лучше всего использовать событие KeyDown:

Private Sub List1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyDelete Then MsgBox "Вы действительно хотите удалить запись?", vbQuestion + vbYesNo "// При нажатии клавиши Delete, в списке, выводится диалоговое окно
End Sub

Совет: чтобы события клавиатуры обрабатывались в первую очередь формой, установите свойство KeyPreview=True

Способ №2 (Меню)

Чтобы присвоить горячие клавиши команде меню, используйте её свойство ShortCut.

Способ №3 (Windows API)

Стандартные события клавиш в Visual Basic, такие как KeyDown, могут работать только на уровне приложения. Но бывают ситуации, когда необходимо отслеживать события на уровне системы (например, ваша программа прячется в трее, а по горячей клавише раскрывается). В этом нам поможет API функция GetAsyncKeyState:
1. Расположите на форме Таймер (Timer1.Interval=50)
2. Добавьте следующий код:

"// Функция отлавливает нажатия клавиатуры вне программы
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

"// Константы
Const VK_ESCAPE = &H1B "// Escape

Private Sub Timer1_Timer()
If GetAsyncKeyState(VK_ESCAPE) Then MsgBox "Кто нажал Esc?" "// При нажатии на Escape выводится диалоговое окно
End Sub

Коды других клавиш вы без труда найдёте в API Text Viewer`е.

Hosted by uCoz