Ir para conteúdo
Fórum Script Brasil
  • 0

Auto Completar Num Combo


Macêdo

Pergunta

Lançar o Código abaixo em General Declarations do form:

Option Explicit
Private Const CB_FINDSTRING As Long = &H14C
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, _
                                                                        ByVal wMsg As Long, _
                                                                        ByVal wParam As Long, _
                                                                        lParam As Any) As Long
Public Function Combo_AutoCompletar(xCombo As ComboBox, ByVal xKeyAscii As Long, Optional ByVal xUpperCase As Boolean = True) As Long
    Dim lngFind As Long, intPos As Long, intLength As Long, tStr As String
    With xCombo
        If xKeyAscii = 8 Then
            If .SelStart = 0 Then Exit Function
            
            .SelStart = .SelStart - 1
            .SelLength = Len(.Text)
            .SelText = vbNullString
        Else
            intPos = .SelStart
            tStr = .Text
            .SelText = (Chr$(xKeyAscii))
'            .SelText = IIf(xUpperCase, _
'                           UCase$(Chr$(xKeyAscii)), _
'                           LCase$(Chr$(xKeyAscii)))
        End If
        lngFind = SendMessage(.hwnd, CB_FINDSTRING, 0, ByVal .Text)
        If lngFind = -1 Then
            .Text = tStr
            .SelStart = intPos
            .SelLength = (Len(.Text) - intPos)
            Combo_AutoCompletar = xKeyAscii
        Else
            intPos = .SelStart
            intLength = Len(.List(lngFind)) - Len(.Text)
            .SelText = .SelText & Right$(.List(lngFind), intLength)
            .SelStart = intPos
            .SelLength = intLength
        End If
    End With
End Function
Lançar na Combo, evento Keypress
KeyAscii = Combo_AutoCompletar(combo1, KeyAscii)

Editado por kuroi
Adicionar Tag CODE
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Macêdo... Boa Tarde!

Muito interessante este seu código...

Mas.........

Será que você poderia, por favor, fazer "COMENTÁRIOS" ao decorrer do código e também

fazer "ENDENTAÇÃO" ??

Só para facilitar o entendimento...

Valeu,

LiNk :ph34r:

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...