FUNCAO MUDAR BACK COLOR DOS TEXT

ERLANMG 12/09/2009 09:49:53
#322691
Pessoal bom dia,

Estou tentando criar uma função para mudar as cores dos text's e outros controles.
No evento gotfocus o text ficara amarelo e no evento lostfocus o text ficara branco.
Uso uma ocx activetext que já faz isso, mas quando tenho que usar o text do vb tenho que ficar colocando dentro dos eventos para ficar tudo igual.
Sendo assim decidir criar uma função que faz isso em todos os controles que estão no form.

Não sei como trabalhar com os eventos dentro da função.


Public Sub mudarcor(f As Form)
On Error Resume Next
Dim i As Integer
For i = 0 To f.Controls.Count - 1
if EVENTO GOT_FOCUS then [ô] coloquei aqui somente para entenderem o que preciso
If TypeOf f.Controls(i) Is TextBox Then
f.Controls(i).BackColor = &H80000018
End If
elseif EVENTO LOST_FOCUS then [ô] coloquei aqui somente para entenderem o que preciso
If TypeOf f.Controls(i) Is TextBox Then
f.Controls(i).BackColor = &H80000005
End If
Next
End Sub

Desde já agradeço a atenção.

Obrigado
MARCELO.TREZE 12/09/2009 11:26:12
#322698
Resposta escolhida
colega coloque um timer em seu form mude a propriedade interval para 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
ctl.ForeColor = vbBlue
Else
If TypeOf ctl Is TextBox Then
ctl.BackColor = vbWhite
ctl.ForeColor = vbBlack
End If
End If
Next
End Sub


veja se atende sua necessidade

EPISCOPAL 12/09/2009 20:22:06
#322718
Uma pergunta de plantão >>>>>> colocar o interval = 1 do Timer nao ficaria lento a aplcação???????? [S59]
MARCELO.TREZE 15/09/2009 20:19:31
#322985
Teste, e ve ja se afeta algo.
Tópico encerrado , respostas não são mais permitidas