Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
AlexBlack
-
- Постоялец
-
-
- Сообщения: 324
- Зарегистрирован: 18.07.2005 (Пн) 19:14
- Откуда: Киефф, Юкрейн...
-
AlexBlack » 02.08.2005 (Вт) 16:27
Скажем я сделал кнопку в UserControl. У нее есть свойство Enabled.
И всё работает класно кроме TABstop-a.
Как из рантайма убрать CanGetFocus или передать фокус следующему контролу по списку?
-
Sur
-
- Обычный пользователь
-
-
- Сообщения: 91
- Зарегистрирован: 14.07.2003 (Пн) 20:54
- Откуда: C2H5OH
-
Sur » 02.08.2005 (Вт) 22:33
А ты можешь, при таких условиях, убрать CanGetFocus у ю.контрола из IDE ?
Полюбому SendKeys "{TAB}" поможет. Главное правельно ввернуть.
-
AlexBlack
-
- Постоялец
-
-
- Сообщения: 324
- Зарегистрирован: 18.07.2005 (Пн) 19:14
- Откуда: Киефф, Юкрейн...
-
AlexBlack » 03.08.2005 (Ср) 11:58
А как съимитировать нажатие "Shift-Tab". Нужно же поймать нажата ли кнопка. С хуками возиться лень...
-
alibek
-
- Большой Человек
-
-
- Сообщения: 14205
- Зарегистрирован: 19.04.2002 (Пт) 11:40
- Откуда: Russia
alibek » 03.08.2005 (Ср) 12:05
SendKeys "^{TAB}"
Lasciate ogni speranza, voi ch'entrate.
-
AlexBlack
-
- Постоялец
-
-
- Сообщения: 324
- Зарегистрирован: 18.07.2005 (Пн) 19:14
- Откуда: Киефф, Юкрейн...
-
AlexBlack » 03.08.2005 (Ср) 12:23
Ано-то понятно.... А вот как распознать нажата ли клавиша ALT....
-
JohnCR
-
- Обычный пользователь
-
-
- Сообщения: 75
- Зарегистрирован: 14.06.2005 (Вт) 19:03
-
JohnCR » 03.08.2005 (Ср) 12:42
Ано-то понятно.... А вот как распознать нажата ли клавиша ALT....
- Код: Выделить всё
'пример...
Option Explicit
'на форме один таймер (timer1)
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Sub Form_Load()
Timer1.Interval = 1
Timer1.Enabled = True
Form1.Caption = "Нажми АLT"
End Sub
Private Sub Timer1_Timer()
Dim KeyState As Integer
KeyState = GetAsyncKeyState(vbKeyMenu)
If KeyState Then
MsgBox ("Нажата клавиша ALT.")
End If
End Sub
Но скорее всего, можно обойтись без этого. При получении фокуса сразу используй SendKeys.
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: Google-бот, SemrushBot, Yandex-бот и гости: 23