TECLA BACKSPACE NO ENVENTO CHANGE

JORGESALES 14/06/2015 23:06:45
#447696
Pessoal será que tem como sair do códido em um envento change se a tecla 8 [Ô]backspace[Ô] for ativada?
Não gosto do evento KeyPress para determinadas funções então preciso adaptar isso para a propriedade Change
da Textbox:
Select Case Len(txtLCel.Text)
Case Is = 1
txtLCel.Text = [Ô]([Ô] & txtACel.Text
Case Is = 3
txtLCel.Text = txtLCel.Text & [Ô])[Ô]
Case Is = 8
[txt-color=#007100][ô]If KeyAscii = 8 Then Exit Sub <--------Queria que se fosse precionada a tecla ele pudesse limpar o tracinho....[/txt-color]
txtLCel.Text = txtLCel.Text & [Ô]-[Ô]
txtLCel.SelStart = 10
Case Is = 13
txtLNome.SetFocus
End Select

EPISCOPAL 14/06/2015 23:24:27
#447697
Neste caso voce poderia fazer uma adaptação com APIs .... mas no evento change não vai ser possivel verificar o pressionamento de tecla devido que vc ja soltou ela.

De um jeito de outro eu acho que vai precisar do evento keypress ...

O que vc deseja filtrar com este txtLCel???
JORGESALES 15/06/2015 01:04:07
#447699
Citação:

:
Neste caso voce poderia fazer uma adaptação com APIs .... mas no evento change não vai ser possivel verificar o pressionamento de tecla devido que vc ja soltou ela.

De um jeito de outro eu acho que vai precisar do evento keypress ...

O que vc deseja filtrar com este txtLCel???



como seria essa filtragem?
aceito qualquer sugestão meu amigo...
EPISCOPAL 15/06/2015 08:48:14
#447707
Resposta escolhida
Citação:

Não gosto do evento KeyPress para determinadas funções



Sei que programador tem suas particularidades ..... mas eu usaria o evento KeyPress ........ dá menos trabalho.

ainda mais o usuário poderia usar ctrl+v para colar algo na textbox ..... e isso dispararia o evento change ....

repito que preferiria keypress ...
LUIZCOMINO 15/06/2015 09:31:06
#447709
Amigo não entendi sua pergunta, você gostaria que quando apertar o backspace ele não faça nada? , ou quando apertar ele limpar o carácter e depois sair da rotina?


se for a opção 1 faça assim:





Select Case Len(txtLCel.Text)
Case Is = 1
txtLCel.Text = [Ô]([Ô] & txtACel.Text
Case Is = 3
txtLCel.Text = txtLCel.Text & [Ô])[Ô]
Case Is = 8
exit sub
Case Is = 13
txtLNome.SetFocus
End Select



se for a opção 2

retire ele do case, mas não entendi muito sua pergunta, de um exemplo mais claro.
Tópico encerrado , respostas não são mais permitidas