¿Cómo se hace el autollenado automático de una caja de texto en el programa Visual Basic?

Necesito saber como se hace el autollenado en una caja de texto.
Es decir, posicionado en una caja de texto, escribo AY, y me completa como si fuese AYUDA URGENTE en el estilo página web!
GRACIAS de antemano!

1 respuesta

Respuesta
1
Supongo que lo que deseas es un autollenar (también se llama búsqueda incremental) en la caja de texto de un cuadro combinado.
Aquí tienes un programita que usa un Combo1. Espero que te sirva. Saludos.
============================
Dim Combo1Borrado As Boolean
Private Sub Combo1_Change()
Static YaEstoy As Boolean
On Local Error Resume Next
If Not YaEstoy Then
YaEstoy = True
unCombo_Change Combo1.Text, Combo1
YaEstoy = False
End If
Err = 0
End Sub
Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)
unCombo_KeyDown KeyCode
End Sub
Private Sub Combo1_KeyPress(KeyAscii As Integer)
unCombo_KeyPress KeyAscii
End Sub
Private Sub unCombo_KeyDown(KeyCode As Integer)
If KeyCode = vbKeyDelete Then
Combo1Borrado = True
Else
Combo1Borrado = False
End If
End Sub
Private Sub unCombo_KeyPress(KeyAscii As Integer)
'si se pulsa Borrar... ignorar la búsqueda al cambiar
If KeyAscii = vbKeyBack Then
Combo1Borrado = True
Else
Combo1Borrado = False
End If
End Sub
Private Sub unCombo_Change(ByVal sText As String, elCombo As ComboBox)
Dim i As Integer, L As Integer
If Not Combo1Borrado Then
L = Len(sText)
With elCombo
For i = 0 To .ListCount - 1
If StrComp(sText, Left$(.List(i), L), 1) = 0 Then
.ListIndex = i
.Text = .List(.ListIndex)
.SelStart = L
.SelLength = Len(.Text) - .SelStart
Exit For
End If
Next
End With
End If
End Sub
Private Sub Form_Load()
Combo1. AddItem "Primero"
Combo1. AddItem "Segundo"
Combo1. AddItem "Tercero"
Combo1. AddItem "Cuarto"
Combo1. AddItem "Quinto"
Combo1. AddItem "Sexto"
Combo1. AddItem "Septimo"
Combo1. AddItem "Octavo"
Combo1. AddItem "Noveno"
Combo1. AddItem "Decimo"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas