| ID | Asunto | Fecha | Nick | |
| 41211 | desplegar lista en textbox con Autocompletado | 10/05/08 19:38 | Me5iAs | |  |
buenas con todos...
bueno el asunto esta muy claro, planteando el problema:
deseo hacer un textbox que al ir escribiendo se despliegue y se autocomplete (como hace el buscador de google x ejemplo) para ello obvio que tendría que agregar al control varios items para que valide el autocompletar y la lista, o talvez conectandolo a una base de datos (que es en si lo que quiero hacer).
sin embargo la ´parte de coneccion ya me encargo yo, en este momento solo necesito poder desplegar mi textbox. encontre una funcion api que hace algo parecido, pero solo te despliega paginas web visitadas :S y yo kiero k despligue elementos que uno mismo ingrese.
si alguien sabe como hacerlo? porke ya llevo 2 dias en esto y me empieza a doler la cabeza xD..
salu2 a to2
Me5iAs. |
|
| ID | Asunto | Fecha | Nick | |
| 41249 | Re: desplegar lista en textbox con Autocompletado (Resp: 41211) | 12/05/08 18:03 | AprendiendoVB | |  |
Hola Me5ias, Tengo un ejemplo para que te bases en él. Creas un formulario con dos controles, un ComboBox llamado Combo1 y un TextBox llamado Text1. El siguiente es el código completo del ejemplo: Option Explicit
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 Text1.Text = Combo1.Text End Sub
Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer) unCombo_KeyDown KeyCode 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 Combo1_KeyPress(KeyAscii As Integer) unCombo_KeyPress KeyAscii End Sub
Libardo [Editado: AprendiendoVB, 12/05/2008 18:04:43]
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
| ID | Asunto | Fecha | Nick | |
| 41250 | Re: desplegar lista en textbox con Autocompletado (Resp: 41249) | 12/05/08 18:14 | Me5iAs | | |
k tal, gracias x la respuesta, en realidad vi un ejemplo parecido pero no me convencio del todo, asi lo que hice es realizar la consulta a la base de datos en el evento keyup del textbox y llamar a un listbox que puse el formulario, lo que haces es llenar el listbox con los datos de la consulta y mostrarlo debajo del texto con el mismo tamaño, de esa forma mientras escribes puedes mostrar los datos en el list y finalmente en el evento mouseup del list puse que el elemento seleccionado se pase al textbox.
de todas formas gracias x tu respuesta, tengo otras dudas (k hare en otro hilo) pero x encuanto doy x solucionado este ^-^'
Me5iAs
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |