TABstop и UserControl

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
AlexBlack
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 18.07.2005 (Пн) 19:14
Откуда: Киефф, Юкрейн...

TABstop и UserControl

Сообщение 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-бот и гости: 42

    TopList