SOMENTE LETRAS MAIÊSCULAS EM TODAS AS TEXTBOX

MARIOANDRADE 23/09/2014 20:35:51
#441466
Meus amigos, baseado neste código onde uso para deixar todas as textbox na cor branca:

Public Function TornarBranco(Formulario As Form)
Dim Controle As Control
Dim i As Integer
For i = 0 To Formulario.Controls.Count - 1
Set Controle = Formulario.Controls(i)
If TypeOf Controle Is TextBox Then
Controle.BackColor = vbWhite
End If
Next i
End Function


Existe um jeito de deixar todas as textbox com letras maiúsculas no momento da digitação sem ter que colocar um código como este:
 txtNomeLocador.Text = UCase(txtNomeLocador.Text)
txtNomeLocador.SelStart = Len(txtNomeLocador.Text)

Em cada textbox?

Agradeço toda ajuda possível.
FFCOUTO 23/09/2014 21:00:37
#441468
Resposta escolhida
Eu uso o código abaixo

Sub TextBoxToUpper(Ctl As TextBox, KeyAscii As Integer)
Select Case KeyAscii
Case 8 [ô]Aceita o BackSpace
Case 13 [ô]Aceita o Enter
Case 65 To 90 [ô]Aceita os caracteres maiúsculos
Case 97 To 122: KeyAscii = KeyAscii - 32 [ô]Converte os caracteres para maiúsculos
Case Else
End Select
End Sub


Para chamar a função
Private Sub TextBox1_KeyPress(KeyAscii As Integer)
TextBoxToUpper TextBox1, KeyAscii
End Sub

O inconveniente é que você terá de atribuir o evento KeyPress de cada textbox que você tiver no Form.
NICKOLASCARLOS 23/09/2014 21:00:46
#441469
Ponha esse código citado por você em um timer, seria uma solução boa!
MARIOANDRADE 23/09/2014 21:08:49
#441471
Fabiano e Nickolas, muito obrigado pela ajuda, colocar em um timer é um toque de gênio, valeu mesmo...
Tópico encerrado , respostas não são mais permitidas