MUDAR COR DO TEXTBOX AO RECEBER FOCO
Alguém pode me ajudar no sentido de fazer uma função que
mude a cor do text ao receber foco?
Existe alguma forma de fazer uma função e joga-la no módulo e
fazer com que todos os textbox do programa mudar a cor ao receber
o foco..
Agradeço desde já a atenção....
Marcelo
mude a cor do text ao receber foco?
Existe alguma forma de fazer uma função e joga-la no módulo e
fazer com que todos os textbox do programa mudar a cor ao receber
o foco..
Agradeço desde já a atenção....
Marcelo
Tem sim...
Você vai Chamar a função uma no GotFocus e a outra no LostFocus do Textbox:
AÃ vai:
no módulo coloque:
Public Sub MudaCor(FormX As Form, Tipo As Integer)
For i = 0 To FormX.Controls.Count - 1
If TypeOf FormX.Controls(i) Is TextBox Then
With FormX.Controls(i)
Select Case Tipo
Case 0 'muda a cor para amarelo
.BackColor = vbYellow
Case 1 'Volta para branco
.BackColor = vbWhite
End Select
End With
End If
Next
End Sub
Agora é o seguinte:
No GotFocus do Textbox vc Chama MudaCor Me, 0
No LostFocus do TextBox vc Chama MudaCor Me, 1
E Presto !!!
Qualquer dúvida, me mande e-mail
jneto@centershop.com.br
Você vai Chamar a função uma no GotFocus e a outra no LostFocus do Textbox:
AÃ vai:
no módulo coloque:
Public Sub MudaCor(FormX As Form, Tipo As Integer)
For i = 0 To FormX.Controls.Count - 1
If TypeOf FormX.Controls(i) Is TextBox Then
With FormX.Controls(i)
Select Case Tipo
Case 0 'muda a cor para amarelo
.BackColor = vbYellow
Case 1 'Volta para branco
.BackColor = vbWhite
End Select
End With
End If
Next
End Sub
Agora é o seguinte:
No GotFocus do Textbox vc Chama MudaCor Me, 0
No LostFocus do TextBox vc Chama MudaCor Me, 1
E Presto !!!
Qualquer dúvida, me mande e-mail
jneto@centershop.com.br
no comando gotfocus do seu text box coloque:
'Text2 foi o nome do meu textbox
Private Sub Text2_GotFocus()
Text2.BackColor = COR DESEJADA 'uisser.
End Sub
e no lostfocus
Private Sub Text2_LostFocus()
Text2.BackColor = cornormal
end sub
Espero ter ajudado.
'Text2 foi o nome do meu textbox
Private Sub Text2_GotFocus()
Text2.BackColor = COR DESEJADA 'uisser.
End Sub
e no lostfocus
Private Sub Text2_LostFocus()
Text2.BackColor = cornormal
end sub
Espero ter ajudado.
obrigado pela ajuda, mas acontece o seguinte, tenho um form com mais de 30 text por exemplo, existe uma forma de jogar essas funçoes sem ter que entrar text por text nos eventos GOT e LOST focus e colocar a função?
Os Controles estão indexados? se estiverem, basta um único Got e LostFocus no código.
João
Basta criar um array então? no momento cada controle possui um nome diferente tipo txt_nome, txt_endereco, etc
o certo seria colocar txt_cadastro, txt_cadastro(0),txt_cadastro(1)...
seria isso?
Agradeço sua ajuda cara...
Marcelo
Basta criar um array então? no momento cada controle possui um nome diferente tipo txt_nome, txt_endereco, etc
o certo seria colocar txt_cadastro, txt_cadastro(0),txt_cadastro(1)...
seria isso?
Agradeço sua ajuda cara...
Marcelo
MARCELO, aqui está o código que uso...
Abraço
T+
Option Explicit
'Coloque em seu form algumas TextBox com o nome de txtTeste (array)... Depois, copie e cole o código abaixo...
Public Function Color_In(Caixa As TextBox, Optional Tagstr As String)
Caixa.SelStart = 0
Caixa.SelLength = Len(Caixa.Text) 'seleciona todo o texto junto com SelStart
Caixa.BackColor = 12510458 'Define a cor do fundo ao receber o foco
End Function
Public Function Color_Out(Caixa As TextBox, Optional Tagstr As String)
Caixa.SelStart = 0
Caixa.BackColor = vbWindowBackground
End Function
Private Sub txtTeste_GotFocus(Index As Integer)
Color_In txtTeste(Index)
End Sub
Private Sub txtTeste_LostFocus(Index As Integer)
Color_Out txtTeste(Index)
End Sub
Abraço
T+
Tópico encerrado , respostas não são mais permitidas