TEXTBOX COM UCASE GERANDO PROBLEMA AO DIGITAR

DANLEONHART 02/01/2011 20:53:45
#360884
Pessoal
tou com este problema em algumas TextBox... uso UCASE para deixar todo texto com letras maiúsculas,porém acontece de sempre o Focus voltar para o inicio do texto...então usei a função SELSTART...acontece que agora sempre que se precisa editar alguma letra no meio do texto escrito, após colocar o focus volta para o final do texto (obviamente devido a função SELSTART), mas se tirar a função, volta o primeiro problema...

Código:
  Private Sub txt01_Change()
Me.txt01.Text = UCase(Me.txt01.Text)
Me.txt01.SelStart = 300
End Sub


Vejam o video do problema:
http://img267.imageshack.us/img267/6184/file21197.mp4
JWCELYO 02/01/2011 20:57:31
#360885
Resposta escolhida
Private Sub Text1_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase$(Chr$(KeyAscii)))
End Sub
DANLEONHART 02/01/2011 21:30:41
#360887
@ JWCELYO

Amigo, os pontos já são seus !
Se não for pedir muito, você poderia dar uma explicação desse código ?! (sou iniciante )

Valeu !
JWCELYO 02/01/2011 21:41:30
#360888
na verdade
o que feito é ai é

A função Ucase$ transforma maiúsculas todos os caracteres.
assim antes que envento KeyPress chegue ou texto box ele transformado em maiúsculo

um detalhe o evento KeyPress contem a letra digita
DANLEONHART 02/01/2011 22:35:30
#360896
Obrigado !

Uso bastante o evento KeyPress mas não tinha ainda pensado em usar o UCASE nele...como você viu, eu coloquei no CHANGE do TextBox...vivendo e aprendendo...

Tópico encerrado , respostas não são mais permitidas