Visual Basic - Alguien sabe cómo autocompletar una busqueda???

Life is soft - evento anual de software empresarial
 
Vista:

Alguien sabe cómo autocompletar una busqueda???

Publicado por Monica_Liz (26 intervenciones) el 03/04/2007 18:18:12
Alguien sabe cómo puedo hacer para poner una caja de texto desplegable que cuando escribo una palabra se me desplegue una lista con las palabras que empiezan con lo que estoy escribiendo en la caja de texto... Así lo podemos ver en el google o en esta misma página cuando ponemos nuestro correo o nombre y ponemos la primera letra y ya se despliega una lista o submenú ... me entendieron?? Cómo se hace esoOo??
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Es una caja de texto con lista desplegable.

Publicado por Monica_Liz (26 intervenciones) el 03/04/2007 18:23:57
Esto es para hacer consultas y por ejemplo buscar clientes... que si escribo la letra M se me despliegue una lista con todos los clientes que empiezan con M... claro ttengo que hacer una consulta pero no sé como hacer la lista desplegable=(.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Es una caja de texto con lista desplegable.

Publicado por Manuel (17 intervenciones) el 03/04/2007 18:36:02
en vb6 me parece que no se puede hacer directamente, en vb 2005 si, solo tienes que establecer la propiedad a true e indicar el origen de los datos, tal vez lo mas facil que podrias hacer es usar un control combobox en lugar de un text, creo que se puede establecer la apariencia a un textbox y luego cada vez que se invoque el evento change con la rutina de sendmessage puedes abrir ese combo y posteriormente indicar quien es el elemento activo, una lata pero no se si se pueda hacer de otra forma.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Es una caja de texto con lista desplegable.

Publicado por Benjo (679 intervenciones) el 07/04/2007 06:31:25
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Any) As Long
Private Const CB_FINDSTRING = &H14C

Private Sub cboDestino_KeyPress(KeyAscii As Integer)
'si querés que se despliegue, enviá un SendKeys con Ctrl F4 en esta linea

Dim i As Long, iNewStart As Integer, strTemp As String
If cboDestino.SelStart = 0 Then
strTemp = cboDestino.Text & Chr(KeyAscii)
Else
strTemp = Left(cboDestino.Text, cboDestino.SelStart) & Chr(KeyAscii)
End If

i = SendMessage(cboDestino.hwnd, CB_FINDSTRING, -1, strTemp)

If i <> -1 Then
'SendMessage devuelve la primer coincidencia
'siempre y cuando el texto de strTemp este en el ComboBox
cboDestino.Text = cboDestino.List(i)
'Establece el texto seleccionado apropiadamente según a busqueda
cboDestino.SelStart = Len(strTemp)
cboDestino.SelLength = Len(cboDestino.List(i)) - Len(strTemp)
KeyAscii = 0
End If
'Esto es ara eliminar el molesto Beep del Enter
If KeyAscii = 13 Then KeyAscii = 0
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar