Default Key

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

Default Key

Сообщение Samovar » 18.06.2004 (Пт) 3:27

Если на форме кнопку сделать Default=True то при нажатии Enter она сработает.
Как можно сделать так, чтобы кнопка срабатывала при нажатии Ctrl+S?
А можно ли перехватить нажатие клавиши, пред тем как оно доберется до ActiveForm или ее контролов без API?
Ученье - свет, неученых - тьма.

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 18.06.2004 (Пт) 13:07

Насчет первого - поставь у формы KeyPreview = True и обрабатывай событие Form_KeyDown; параметр KeyCode показывает номер клавиши, параметр Shift показывает номер нажатых Shift, Control, Alt. Константы клавиш начинаются с "vbKey*", например, vbKeyS; Shift и т.п. определяются так:
Bin Dec Name
000 - 0 - <none>
001 - 1 - Shift
010 - 2 - Ctrl
011 - 3 - Ctrl + Shift
100 - 4 - Alt
101 - 5 - Alt + Shift
110 - 6 - Alt + Ctrl
111 - 7 - Alt + Ctrl + Shift
Нет меня больше

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 18.06.2004 (Пт) 13:10

А вообще, можно сделать так:
Код: Выделить всё
Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
MsgBox Shift & " " & KeyCode
End Sub
Нет меня больше

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 18.06.2004 (Пт) 13:11

Да, чтобы активировать нажатие кнопки, надо либо вызывать Command1_Click, либо Command1.Value = True
Нет меня больше

Samovar
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 111
Зарегистрирован: 23.05.2004 (Вс) 8:13

Сообщение Samovar » 19.06.2004 (Сб) 10:08

Как раз то что нужно - спасибо!
Ученье - свет, неученых - тьма.


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10

    TopList