COMBOBOX

LEANDROR10 20/02/2013 12:20:00
#419400
Boa tarde!

Estou usando no combo box no VB6 os seguintes códigos:
KeyAscii = Combo_AutoCompletar(txt_item, KeyAscii) - [ô] para completar o valores atribuido no combo de acordo com a digitação[ô]
KeyAscii = Asc(UCase(Chr(KeyAscii))) - [Ô]Para ficar maiusculo o valor que digito.
só que quando eu digito uma letra errada e apago a letra, todo o conteudo que estou digitando é apagado, alguem pode me ajudar para não ficar apagando o conteudo que digitei.

obrigado!
MARCELO.TREZE 20/02/2013 12:40:06
#419406
tente postar a function combo_autocompletar pra nós

LEANDROR10 20/02/2013 12:47:40
#419407
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 = 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
MARCELO.TREZE 20/02/2013 13:30:08
#419412
olha o problema acredito estar aqui

If xKeyAscii = 8 Then
If .SelStart = 0 Then _
Exit Function
.SelStart = .SelStart - 1
.SelLength = Len(.Text)
.SelText = vbNullString
Else
intPos = .SelStart
tStr = .Text
.SelText = IIf(xUpperCase, _
UCase$(Chr$(xKeyAscii)), _
LCase$(Chr$(xKeyAscii)))
End If

tente uma modificação, tudo acima por isto

If xKeyAscii = 8 Then
ykeyascii = 0
Exit Function
End If
LEANDROR10 20/02/2013 14:16:57
#419418
ainda não dá para excluir, com isso está travando a exclusão de tudo
ROBIU 21/02/2013 08:14:18
#419458
Resposta escolhida
Tópico encerrado , respostas não são mais permitidas