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

Posicionar Cursor...


Halfar

Pergunta

Bem pessoal,

Tenho uma caixa de texto onde é armazenado o cep. Utilizei o controle NumberBox e estava funcionando. Mas sei lá porque, após ter testado alguns ceps e estar tudo ok, ao levar o soft para a empresa concratante do serviço, o usuário ao digitar um cep, quando o cursor sai do campo e vai para outro campo, o controle numberbox simplesmente altera o valor do cep para um outro numero qualquer. Não sei porque ocorreu isto. Achei totalmente estranho, porque ele altera somente para um determinado cep, outros ceps que foram digitados tudo ocorreu normalmente, não deu erro nehum.

Pois bem, como já estou de saco cheio destes controles, porque antes utilizei o MaskEdit para formatar outros campos e deu problemas tambem, então resolvi escrever um codigo simples para formatar o cep, pois trata-se apenas de colocar um traço no meio do cep.

então fiz o seguinte:

Private Sub TextCep_Change(Index As Integer)
If Len(TextCep(0).Text) = 5 Then TextCep(0).Text = TextCep(0).Text & "-"
End Sub

O codigo acima faz com que toda vez que o usuario digitar algo no campo cep, ele verifica o tamanho da string, se for igual a 5 então o programa acrescenta o traço. Só que aí o cursor é posicionado no primeiro numero do cep, dificultando ainda mais o trabalho do usuário.

Eu preciso de um comando que posicione o cursor no final do cep....

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Dim Tecla As Integer 'Variável global!

Private Sub TextCep_Change()

If Tecla = 8 Then Exit Sub

If Len(TextCep.Text) = 5 Then
TextCep.Text = TextCep.Text & "-"
TextCep.SelStart = 6
End If
End Sub

Private Sub TextCep_KeyPress(KeyAscii As Integer)
Tecla = KeyAscii
End Sub

Explicando: Faz a verificação da tecla: se a tecla for 8 (backspace) então ele ignora o trecho de código do procedimento 'Change'. Por que ignora? Fiz para o usuário poder deletar o que escreveu, pois se ele pressionar 'backspace' e tiver 5 caractéres ele irá apagar o '-' (o sexto caractére, assim ficando 5 caractéres) e colocar o '-' novamente.

A propriedade 'SelStart' move o cursor para a posição indicada.

Qualquer coisa estamos ai! falows!

P.S: Toda vez que você fizer validações por conta própria, use o evento KeyPress da TextBox. Tudo isso que fiz dava para fazer no evento KeyPress e sem usar uma variável global, certo?

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...