PROBLEMA AO DIGITAR EM TEXTBOX
Boa tarde - pessoal
Estou com um problema de principiante, tenho vários textbox, quando vou alterar algum deles, posiciono o cursor aonde quero e começo a fazer a alteração da digitação, mas quando comoeço a digitar, o cursor vai para o final do textbox.
Esta é minha rotina para que a digitação fique com as letras maÃusculas
Private Sub Txt_AluNom_Change()
Txt_AluNom.Text = UCase(Txt_AluNom.Text)
Txt_AluNom.SelStart = Len(Txt_AluNom.Text)
End Sub
E esta é para apagar o preenchimento padrão que tenho no textbox.
Private Sub Txt_AluNom_GotFocus()
With Txt_AluNom
.SelStart = 0
.SelLength = Len(.Text)
End With
End Sub
Como posso contornar este proglema???
Obrigado,
Estou com um problema de principiante, tenho vários textbox, quando vou alterar algum deles, posiciono o cursor aonde quero e começo a fazer a alteração da digitação, mas quando comoeço a digitar, o cursor vai para o final do textbox.
Esta é minha rotina para que a digitação fique com as letras maÃusculas
Private Sub Txt_AluNom_Change()
Txt_AluNom.Text = UCase(Txt_AluNom.Text)
Txt_AluNom.SelStart = Len(Txt_AluNom.Text)
End Sub
E esta é para apagar o preenchimento padrão que tenho no textbox.
Private Sub Txt_AluNom_GotFocus()
With Txt_AluNom
.SelStart = 0
.SelLength = Len(.Text)
End With
End Sub
Como posso contornar este proglema???
Obrigado,
.SelLength = Len(.Text)
Essa linha faz com que o cursor fique no final do componente.
Ashkatchup - marquei a linha como comentário, mas continua pulando para o final do textbox, tem outra coisa ai que está errado???
Remove essas duas:
Txt_AluNom.SelStart = Len(Txt_AluNom.Text)
.SelLength = Len(.Text)
Private Sub Txt_AluNom_Change()
Txt_AluNom.Text = UCase(Txt_AluNom.Text)
End Sub
Private Sub Txt_AluNom_GotFocus()
With Txt_AluNom
.SelStart = 0
End With
End Sub
Aparentemente, esse código não tem nada a ver com o problema. Verifique a propriedade TabIndex de seus Textboxs na primeira a ultima, e veja se não está fora da ordem. O TabIndex determina a ordem que os controles recebem o foco.
Text1 - Tabindex=0
Text2 - Tabindex= 3
Text3 - TabIndex=2
Text4 - TabIndex=1
Então a ordem do foco seria: Text1 - Text4 - Text3 - Text2.
Se não for isso deve ser outra parte de seu código, não o que você postou.
Text1 - Tabindex=0
Text2 - Tabindex= 3
Text3 - TabIndex=2
Text4 - TabIndex=1
Então a ordem do foco seria: Text1 - Text4 - Text3 - Text2.
Se não for isso deve ser outra parte de seu código, não o que você postou.
Private Sub Txt_AluNom_Change()
Txt_AluNom.Text = UCase(Txt_AluNom.Text)
Txt_AluNom.SelStart = Len(Txt_AluNom.Text)
End Sub
E esta é para apagar o preenchimento padrão que tenho no textbox.
Private Sub Txt_AluNom_GotFocus()
With Txt_AluNom
.SelStart = 0
.SelLength = Len(.Text)
End With
End Sub
Cara nao entendi o porque você faz isso, nao precisa de nada disso para digitar no TextBox
Private Sub Txt_AluNom_GotFocus()
With Txt_AluNom
.SelStart = 0
.SelLength = Len(.Text)
End With
End Sub
Serve para que, quando o foco for para o controle, todo o texto seja selecionado. Como ele disse: [Ô]apagar o valor default[Ô].
Robiu - tenho uma rotina para os tabindex, na hora em que chamo a função, a mesma já fala qual é a ordem de todos os tabsindex que tenho
Leandro - a primeira função é para que a digitação fique sempre com a letra maÃuscula, mesmo que o capslook estja desetivado, já a segunda rotina é para apagar o que estiver dentro do texbox, ou seja, quando inicializo uma inclusão, sempre preencho cada campo do meu textbox com [Ô]_[Ô], de acordo com o tamanho especificado com o maxlength, assim quando vou gravar os dados, não me retorna nenhum erro de variável nula.
Ashkatchup - experimentei o seu exemplo, só que agora na digitação fica de trás para frente. Como concerto isto???
Leandro - a primeira função é para que a digitação fique sempre com a letra maÃuscula, mesmo que o capslook estja desetivado, já a segunda rotina é para apagar o que estiver dentro do texbox, ou seja, quando inicializo uma inclusão, sempre preencho cada campo do meu textbox com [Ô]_[Ô], de acordo com o tamanho especificado com o maxlength, assim quando vou gravar os dados, não me retorna nenhum erro de variável nula.
Ashkatchup - experimentei o seu exemplo, só que agora na digitação fica de trás para frente. Como concerto isto???
Citação:ELMO01 escreveu:
Robiu - tenho uma rotina para os tabindex, na hora em que chamo a função, a mesma já fala qual é a ordem de todos os tabsindex que tenho
Leandro - a primeira função é para que a digitação fique sempre com a letra maÃuscula, mesmo que o capslook estja desetivado, já a segunda rotina é para apagar o que estiver dentro do texbox, ou seja, quando inicializo uma inclusão, sempre preencho cada campo do meu textbox com [Ô]_[Ô], de acordo com o tamanho especificado com o maxlength, assim quando vou gravar os dados, não me retorna nenhum erro de variável nula.
Ashkatchup - experimentei o seu exemplo, só que agora na digitação fica de trás para frente. Como concerto isto???
Cara, agora eu entendi. O que você tem que mudar não é o código e sim a propriedade [Ô]Alignment[Ô] do seu textbox! Coloque ela como [Ô]0 - Left Justify[Ô].
Ashkatchup - já está com [Ô]0 - Left Justify[Ô], mesmo assim ainda continua escrevendo de trás para frente assim [Ô] omle [Ô] na digitação.
Desculpe a mancada então. Poste o seu código inteiro, ou o que puder dele. Deve haver algum erro em outra parte.
Tópico encerrado , respostas não são mais permitidas