Простым сочетанием клавиш:
Введение
Многие пользователи предпочитают работать с горячими клавишами, нежели нажимать на кнопки или меню. Поэтому было бы правильнее включить их в свою программу. Сегодня мы и поговорим о горячих клавишах, вернее о способах их создания.
Способ №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`е.