LISTBOX

CAUEBIAZIN 24/04/2007 10:23:33
#213513
Bom dia pessoal,

estou com a seguinte dúvida:
tenho um listBox e nele preciso mostrar codigo e nome de clientes...
atualmente o programa mostra o codigo concatenado com "-" e concatenado com o nome do cliente, ai o usuário vai digitando em um text e ele vai pesquisando no listBox(Está sendo usada uma API do windows pra isso). Só que agora preciso que o usuário procure pelo nome, mas que o a sequencia dos dados mostrados na tela continue a mesma(codigo+Nome). Estava pensando e compor o list com 3 colunas: Nome, codigo, nome... sendo que a 1º coluna ficaria invisivel, mas a busca seria feita por ela... mas seria mostrado para o usuário somente o codigo e o nome. Eu só consegui fazer mudando a ordem das colunas...
Se alguem souber se tem como fazer isso ou se tem algum link que tenha alguns "macetes" de listbox, ficarei mto grato...

Obrigado
USUARIO.EXCLUIDOS 24/04/2007 11:00:53
#213522
Cara, pq não faz assim, primeiro vc popula o ListBox dessa forma e para pesquisar nele, vc pode colocar no change de um textbox:

Private Sub txtPesquisa_Change()
Dim i As Integer
For i = 0 To SeuList.ListCount - 1
'Verifica se o começo do nome coincide
If SeuList.List(i) Like "*-" & txtPesquisa & "*" Then
'Seleciona o item
SeuList.ListIndex = i
End If
Next i
End Sub


Qualquer dúvida poste...flw
CAUEBIAZIN 24/04/2007 11:06:51
#213524
Obrigado pela força...
mas é que não posso mudar a forma de como se pesquisa...
pois essa tela é usada para outras chamadas tbm...
Para cada formulário que vou realiza a chamada, eu configuro o listbox de um jeito...
e utilizo a mesma função para procurar...

 Private Sub pf_Vapara_Entrada_Lista(ByVal pstrString As String, plstLista As Control)
Dim i As Long

' Usa a chamada de API do Windows.
i = SendMessage(plstLista.hWnd, LB_SELECTSTRING, -1, ByVal pstrString)

End Sub



Tópico encerrado , respostas não são mais permitidas