SELECIONAR INFORMA?ÃO NO COMBOBOX

SIDSIL 14/04/2014 08:04:23
#437235
Bom Dia Amigos

Eu utilizo combobox no VB 6 e sem problemas.Eu o ordeno na ordem que quero e quando clico nele os dados sao exibidos na ordem que selecionei e a partir dai se eu quiser digitar no combo, a pesquisa e feita por aproximação,considerando-se e claro os caracteres que eu digitei.Isso evita que eu tenha que clicar na barra vertical para ir ate o item que eu quero, quero dizer que depois de clicar no combo e digitar a letra [Ô]A[Ô], sera exibido tudo o que começa com [Ô]A[Ô], se digitar A[Ô]L[Ô], tudo o que começa com [Ô]AL[Ô] e assim por diante.

Pois bem, ja vi alguns combobox,onde voce sequer precisa clicar nele, basta apenas digitar os caracteres desejados que ele ja pesquisa por aproximação dos caracteres digitados.

Alguem aqui tem algo parecido para combobox?



Obrigado


Sidnei
ALVAROVB2009 14/04/2014 09:44:58
#437240
Resposta escolhida
Sidnei bom dia

A pesquisa é feita através de uma API que vc pode conseguir Aqui
JCM0867 14/04/2014 09:52:45
#437241
até onde sei direto no VB6 não tem como, No VB.NET já é assim e junto mais algumas opções como auto completar.


Nem tudo que se enfrenta pode ser modificado, mas nada pode ser modificado até que seja enfrentado.
Albert Einstein
TUNUSAT 14/04/2014 10:26:07
#437245
Bom dia SIDSIL,

Veja se te ajuda este código...

1 - Monta um projeto novo, referencia o:
Microsoft Scripting Runtime - C:\Windows\SysWOW64\scrrun.dll

2 - Coloca uma combobox de nome: [Ô]cmbInput[Ô]

3 - Anexa o código abaixo:
[ô]http://www.vbforums.com/showthread.php?303055-VB6-Auto-Complete-Combo-Box
Option Explicit

Private Sub cmbInput_KeyUp(KeyCode As Integer, Shift As Integer)
AutoSel cmbInput, KeyCode
End Sub

Private Sub Form_Load()
Dim FolderPath As String
Dim Folder
Dim File
Dim f
Dim FSO As New Scripting.FileSystemObject

FolderPath = [Ô]C:\Program Files[Ô]

Set Folder = FSO.GetFolder(FolderPath)

For Each f In Folder.SubFolders
cmbInput.AddItem f.Name
Next

End Sub

Function AutoSel(Cmb As ComboBox, KeyCode As Integer)
Dim Text As String
Dim i As Long
Dim Temp As String

Debug.Print KeyCode

If KeyCode = vbEnter Then Exit Function
If KeyCode = 8 Then Exit Function [ô]Backspace
If KeyCode = 37 Then Exit Function [ô]left key
If KeyCode = 38 Then Exit Function [ô]up arrow key
If KeyCode = 39 Then Exit Function [ô]right key
If KeyCode = 40 Then Exit Function [ô]down arrow key
If KeyCode = 46 Then Exit Function [ô]delete key
If KeyCode = 33 Then Exit Function [ô]page up key
If KeyCode = 34 Then Exit Function [ô]page down key
If KeyCode = 35 Then Exit Function [ô]end key
If KeyCode = 36 Then Exit Function [ô]home key

Text = Cmb.Text

For i = 0 To Cmb.ListCount - 1
Temp = Left(Cmb.List(i), Len(Text))

If LCase(Temp) = LCase(Text) Then
Cmb.Text = Cmb.List(i)
Cmb.ListIndex = i
Cmb.SelStart = Len(Text)
Cmb.SelLength = Len(Cmb.List(i))
[ô]Cmb.SetFocus
End If

Next

End Function


Peguei em:
http://www.vbforums.com/showthread.php?303055-VB6-Auto-Complete-Combo-Box

[][ô]s,
Tunusat.
SIDSIL 23/07/2014 17:07:46
#439789
Bem, demorei mas voltei.

Muito obrigado a todos pela ajuda.Tentei seu exemplo TUNUSAT mas deu erro na linha:

Set Folder = FSO.GetFolder(FolderPath) (Dosen't object not supported this property or model)

Obrigado e um Abraço a todos
Tópico encerrado , respostas não são mais permitidas