BACKSPACE

MAICONLS 13/07/2005 10:50:22
#93860
bom dia, eu tenho o seguinte código para formatar como data um textbox:

If Len(txtdatacompra) = 2 Then
txtdatacompra = txtdatacompra & "/"
txtdatacompra.SelStart = 4

End If

If Len(txtdatacompra) = 5 Then
txtdatacompra = txtdatacompra & "/"
txtdatacompra.SelStart = 7

End If

If Len(txtdatacompra) = 8 Then
txtdatacompra = Format(txtdatacompra, "dd/mm/yyyy")

End If

Oproblema é o seguinte, como eu posso fazer para que quando apertar a tecla backspace no teclado ele va me apagando o conteúdo do textbox ? Atualmente se eu aperto o backspace, ele me apaga somente os dois 4 ultimos caracteres, para conseguir apagar todos eu tenho que selecionar com o mouse todo o conteúdo do textbox....Obrigado..
WEBMASTER 13/07/2005 11:30:41
#93868
Coloque esse seu código no evento KeyPress da caixa de texto e coloque esse código dentro do seguinte If:

If KeyAscii <> 9 Then
... seu código...
End If
MAICONLS 13/07/2005 11:43:11
#93872
Este codigo que eu postei acima esta dentro da opção change do textbox...
USUARIO.EXCLUIDOS 13/07/2005 11:45:10
#93874
Coloque o código no evento CHANGE da caixa de texto...
(Faça algumas modificações no código)
  If Len(txtdatacompra) = 2 Then 
txtdatacompra = txtdatacompra & "/"
txtdatacompra.SelStart = 4
elseif Len(txtdatacompra) = 5 Then
txtdatacompra = txtdatacompra & "/"
txtdatacompra.SelStart = 7
elseif Len(txtdatacompra) = 8 Then
txtdatacompra = Format(txtdatacompra, "dd/mm/yyyy")
proximocampotxt.setfocus
End If

Até breve!
MAICONLS 13/07/2005 11:59:38
#93885
outro problema que encontri no meu código é que quando se termina de digitar a data ao invés do cursor ficar atras do ultimo caracter digitado ele volta para o inicio do textbox, ou seja na frente do primeiro caracter...Alguém sabe o porque disso ?
PAGANINI 13/07/2005 12:05:31
#93888
No inicio do código faça

i = Textbox.selstart

e no final faça

Textbox.selstart = i
USUARIO.EXCLUIDOS 13/07/2005 13:27:34
#93924
Eu faço assim:
 If Len(txtdatacompra) = 2 Then 
txtdatacompra = txtdatacompra & "/"
SendKeys "{End}"
elseif Len(txtdatacompra) = 5 Then
txtdatacompra = txtdatacompra & "/"
SendKeys "{End}"
elseif Len(txtdatacompra) = 8 Then
txtdatacompra = Format(txtdatacompra, "dd/mm/yyyy")
SendKeys "{End}"
proximocampotxt.setfocus
End If
Tópico encerrado , respostas não são mais permitidas