MUDAR A COR DO CONTROLE TEXT

RODEOLIVEIRA 22/04/2011 10:47:17
#372177
Olá a Todos...


Em meus aplicativos, eu mudo a cor do controle que recebe o foco para amarelo e o que perdeu o foco para branco, até ai fácil, porque uso os eventos GotFocus e LostFocus. Porém tenho que fazer isso em todos os controles...


Será que tem uma forma de eu colocar uma função, sei lá, no form ou outro local que identifica o objeto que recebeu o foco e coloca amarelo, e ao mesmo tempo, identifica o objeto que perdeu o foco e colocar branco?

RODEOLIVEIRA 22/04/2011 11:04:57
#372180
Uhhh, eu acho que dessa forma seria mais complicado para meu projeto... já tem muita coisa pronta, e também teria que ficar controlando qual id era para tal campo....
MARCELO.TREZE 22/04/2011 11:16:12
#372182
Resposta escolhida
se vc já possui tudo pronto então vamos a solução milagrosa, rs

coloque um timer, com a propriedade interval = 1

e cole este código

Private Sub Timer1_Timer()
Dim txtName As String
Dim txt As TextBox
Dim ctl As control
If TypeOf Me.ActiveControl Is TextBox Then txtName = Me.ActiveControl.Name
For Each ctl In Me
If txtName = ctl.Name Then
ctl.BackColor = vbYellow
Else
If TypeOf ctl Is TextBox Then
ctl.BackColor = vbWhite
End If
End If
Next
End Sub


veja se funciona, rs

abraço
RODEOLIVEIRA 22/04/2011 15:10:35
#372189
Pra mim deu certo sim... muito obrigado a todos....

A única mudança que fiz, além das relatadas pelo Menudo foram nas cores, para ficar uma cor mais discreta, eu criei duas constantes, uma com o valor branco e outra com um valor de amarelo, mais ameno que o vbYellow...


Abraços..
Tópico encerrado , respostas não são mais permitidas