properties controls - focus?

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

properties controls - focus?

Сообщение darkich » 06.07.2003 (Вс) 21:34

Подскажите плиииз
как как проверить активность (фокус?) TextBox - т.е стоит ли там текстовой курсор

есть куча TextBox и мне нужно проверить в каком из них счас работают (или работали)??

MyType = TypeName(Screen.ActiveControl)

MyType - будет содержать тип контрола ((( а нужно конкретно получить его имя

вобще если быть точным то нужно чтобы при нажатии кнопки из активного в данный момент текстового поля данные помещались в нужную переменную

MEMBER
Гугль
Гугль
 
Сообщения: 758
Зарегистрирован: 29.11.2002 (Пт) 12:02
Откуда: 10 этаж

Сообщение MEMBER » 06.07.2003 (Вс) 23:08

Код: Выделить всё
Option Explicit
Public ActiveTxtBox
'-------------------------------
Private Sub Text1_GotFocus(Index As Integer)
    ActiveTxtBox = Index
End Sub
'-------------------------------
Private Sub Command1_Click()
    Select Case ActiveTxtBox
     Case 1
      '.........
     Case 2
     '.........
     Case 3
     '.........
     Case 4
     '.........
End Sub

Все Text в control array
Господа! Пользуйтесь www.ya.ru
ЗЫ и www.planetsourcecode.com

darkich
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 13.06.2003 (Пт) 13:10
Откуда: Великий Новгород

Сообщение darkich » 06.07.2003 (Вс) 23:27

ВСЁ ЯСНО!!!!!
СПАСИБО!!!!!! РАБОТАЕТ!
можно ещё вопрос - а нельзя ли получить имя активного в данный момент контрола или коконидь ID что можно былу к ниму обратиться?

Demonx
Бывалый
Бывалый
 
Сообщения: 237
Зарегистрирован: 25.06.2003 (Ср) 0:08
Откуда: Литва/Висагинас

Сообщение Demonx » 07.07.2003 (Пн) 6:38

TextBox(ActiveTxtBox)....

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 07.07.2003 (Пн) 8:38

ActiveForm.ActiveControl.Name
Lasciate ogni speranza, voi ch'entrate.

darkich
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 13.06.2003 (Пт) 13:10
Откуда: Великий Новгород

Сообщение darkich » 07.07.2003 (Пн) 8:55

:D :D :D
Теперь всё окончательно ясно! спасибо!
8)

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 07.07.2003 (Пн) 9:53

Для полноты картины дам еще один пример:
Код: Выделить всё
Dim I As Long, N As String, C As String
N = ActiveControl.Name
For I = 3 To 1 Step -1
  If IsNumeric(Right$(N,I)) Then Exit For
Next I
If I=0 Then Exit Sub
N = Left$(N, Len(N)-I)
For I = 1 To 20
  C = N & Trim$(Str$(I))
  If TypeOf Controls(C) Is TextBox Then
    Controls(C).Text = Trim$(Str$(I))
  ElseIf TypeOf Controls(C) Is CommandButton Then
    Controls(C).Caption = Trim$(Str$(I))
  End If
Next I

Убирает из имени активного контрола цифровую часть (т.е. если его название Text5, то будет получится Text), а затем проходится циклом по всем контролам с такой-же основной частью (в данном примере от Text1 до Text20) и в каждый запишет его порядковый номер.
Lasciate ogni speranza, voi ch'entrate.


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

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

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 17

    TopList