Igual que Office

Iniciado por Cj2009z, 2 Diciembre 2006, 01:36 AM

0 Miembros y 1 Visitante están viendo este tema.

Cj2009z

Hola, que tal soy nuevo en el foro, espero poder contar con ustedes mi pequeña duda. veran tengo cinco cuadros de texto en una aplicación de visual basic 6.0 y lo que quiero es que al ingresar en el primer cuadro de texto cinco números incluyento letras, se pase al siguiente cuadro de texto y con este sucesivamente lo mismo, es decir así como cuando se ingresa la serial en office y/o windows. Cualquier ayuda y respeusta es bien recibida gracias. Espero que me puedan ayudar porque ya he buscado por todo el internte y he encontrado. graicas de antemano.

IP3

#1
Creo que es con LostFocus y GotFocus

Cj2009z

Me gustaria que me dieras un ejemplo porfa. No te imaginas cuando he buscado esta respuesta. porfa. gracias

ReViJa

#3
Una manera simple que se me ocurre (si hay pocos campos) es:

Private Sub Form_Load()
   Text1.MaxLength = 5
   Text2.MaxLength = 5
   Text3.MaxLength = 5
   Text4.MaxLength = 5
   Text5.MaxLength = 5
End Sub

Private Sub Text1_Change()
   If Len(Text1) = 5 Then Text2.SetFocus
End Sub

Private Sub Text2_Change()
   If Len(Text2) = 5 Then Text3.SetFocus
End Sub

Private Sub Text3_Change()
   If Len(Text3) = 5 Then Text4.SetFocus
End Sub

Private Sub Text4_Change()
   If Len(Text4) = 5 Then Text5.SetFocus
End Sub


Si tienes muchos campos crea una matriz de controles.

Private Sub Form_Load()
   Txt(1).MaxLength = 5
   Txt(2).MaxLength = 5
   Txt(3).MaxLength = 5
   Txt(4).MaxLength = 5
   Txt(5).MaxLength = 5
End Sub

Private Sub Txt_Change(Index As Integer)
If Len(Txt(5).Text) = 5 Then
   'Opción de salida cuando llegue al ultimo textbox
Else
   If Len(Txt(Index)) = 5 Then Txt(Index + 1).SetFocus
End If
End Sub


OJO las matrices de controles empiezan en cero pero yo no lo uso.

IP3

Yo decia otra manera pero esa ya vale, o sea, cuando una el valor es "X" se quite el foco y de foco a otra, se hacia con variables etc, pero esa ya vale

Cj2009z

Gracias amigos, me funciono a la perfección, los dos ejemplos estan perfectos. gracias.