Prezados vi alguns topicos referente ao pintar campo ao receber foco mas meu objetivo eh que quando o campo receber foco, o rotulo tambem altera a cor de fundo.
4 participantes
[Resolvido]Pintar rotulo quando o campo receber foco
tauron- VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1416
Registrado : 07/12/2011
- Mensagem nº1
[Resolvido]Pintar rotulo quando o campo receber foco
JPaulo- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 11026
Registrado : 04/11/2009
- Código:
Private Sub SuaCaixaTexto_GotFocus()
Me.SuaCaixaTexto.BackColor = vbRed
Me.SeuRotulo.BackStyle = 1 '1 é fundo normal, 2 é fundo transparente, com 2 não consegue alterar a cor de fundo
Me.SeuRotulo.BackColor = vbRed
End Sub
Private Sub SuaCaixaTexto_LostFocus()
Me.SuaCaixaTexto.BackColor = vbWhite
Me.SeuRotulo.BackStyle = 1 '1 é fundo normal, 2 é fundo transparente, com 2 não consegue alterar a cor de fundo
Me.SeuRotulo.BackColor = vbWhite
End Sub
.................................................................................
Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.
Pay-Pal R$ Aqui
Pay-Pal € Aqui
Ou ainda: Aqui (Novo)
Sucesso e Bons Estudos
Success and Good Studies
Utilize o Sistema de Busca do Fórum...
102 Códigos VBA Gratuitos...
Instruções SQL como utilizar...
tauron- VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1416
Registrado : 07/12/2011
Grande JPaulo, funfou legal mas, teria como transformar este codigo em um modulo (funcao), tenho mais de 50 campos em alguns formularios. Sinceramente estou ha dias com alguns probleminhas no trabalho que nao me deixam raciocinar normalmente.
Avelino Sampaio- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 3900
Registrado : 04/04/2010
Olá!
Veja se meu artigo ajuda:
http://www.usandoaccess.com.br/tutoriais/alterar-cor-campo-ao-receber-foco.asp?id=1#inicio
Sucesso!
Veja se meu artigo ajuda:
http://www.usandoaccess.com.br/tutoriais/alterar-cor-campo-ao-receber-foco.asp?id=1#inicio
Sucesso!
.................................................................................
Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces
Clique AQUI e analise o custo beneficio do material oferecido.
tauron- VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1416
Registrado : 07/12/2011
Boa tarde Avelino, eu ja conheco este codigo mas nao estou conseguindo adaptar seu exemplo ao meu objetivo que e alterar o fundo do rotulo juntamente com o campo. Alguns dos formularios possuem mais de 50 campos divididos em guias.
tauron- VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1416
Registrado : 07/12/2011
Realmente nao estou conseguindo me concentrar nessa situacao estou com um problema com o banco de dados onde trabalho que ja estamos trabalhando a dias sem identificar a causa.
este e o codigo do Avelino que estou tentando adaptar no meu projeto (minhas alteracoes estao em destaque) so que ao abri o formulario me da erro "variavel do objeto ou variavel do bloco "with" nao foi definida" e pedindo para depurar me encaminha para o seguinte:
"ctl.OnGotFocus = "=fncPintaCampo([" & ctl.Name & "], [" & rtl.Name & "],1)" 'Cor Amarela"
Public Function fncMontaEventos(frm As Form)
Dim ctl As Control
Dim rtl As Label
For Each ctl In frm.Controls
Select Case ctl.ControlType
Case acTextBox, acComboBox, acListBox 'caixa texto, combobox e listbox
If ctl.OnGotFocus = vbNullString Then ctl.OnGotFocus = "=fncPintaCampo([" & ctl.Name & "], [" & rtl.Name & "],1)" 'Cor Amarela
If ctl.OnLostFocus = vbNullString Then ctl.OnLostFocus = "=fncPintaCampo([" & ctl.Name & "], [" & rtl.Name & "],0)" 'Cor Branca[/color]
End Select
Next
End Function
Public Function fncPintaCampo(ctl As Control, rtl As Label, cor As Byte)
ctl.BackColor = Switch(cor = 0, RGB(255, 255, 255), cor = 1, RGB(255, 253, 185))
rtl.BackColor = Switch(cor = 0, RGB(255, 255, 255), cor = 1, RGB(255, 253, 185))
If cor = 1 Then ctl.SelStart = Len(ctl.Value & "")
End Function
este e o codigo do Avelino que estou tentando adaptar no meu projeto (minhas alteracoes estao em destaque) so que ao abri o formulario me da erro "variavel do objeto ou variavel do bloco "with" nao foi definida" e pedindo para depurar me encaminha para o seguinte:
"ctl.OnGotFocus = "=fncPintaCampo([" & ctl.Name & "], [" & rtl.Name & "],1)" 'Cor Amarela"
Public Function fncMontaEventos(frm As Form)
Dim ctl As Control
Dim rtl As Label
For Each ctl In frm.Controls
Select Case ctl.ControlType
Case acTextBox, acComboBox, acListBox 'caixa texto, combobox e listbox
If ctl.OnGotFocus = vbNullString Then ctl.OnGotFocus = "=fncPintaCampo([" & ctl.Name & "], [" & rtl.Name & "],1)" 'Cor Amarela
If ctl.OnLostFocus = vbNullString Then ctl.OnLostFocus = "=fncPintaCampo([" & ctl.Name & "], [" & rtl.Name & "],0)" 'Cor Branca[/color]
End Select
Next
End Function
Public Function fncPintaCampo(ctl As Control, rtl As Label, cor As Byte)
ctl.BackColor = Switch(cor = 0, RGB(255, 255, 255), cor = 1, RGB(255, 253, 185))
rtl.BackColor = Switch(cor = 0, RGB(255, 255, 255), cor = 1, RGB(255, 253, 185))
If cor = 1 Then ctl.SelStart = Len(ctl.Value & "")
End Function
tauron- VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1416
Registrado : 07/12/2011
Galera na tentativa de solucionar minha questao hoje o codigo esta assim, mas quando "chamo" o formulario da erro em tempo de execucao '2465' (erro de definicao de aplicativo ou de definicao de obejto).
Public Function fncMontaEventos(frm As Form)
Dim ctl As Control
Dim rtl As Label
For Each ctl In frm.Controls
Select Case ctl.ControlType
Case acTextBox, acComboBox, acListBox 'caixa texto, combobox e listbox
If ctl.OnGotFocus = vbNullString Then ctl.OnGotFocus = "=fncPintaCampo([" & ctl.Name & "],1)" 'Cor Amarela
If ctl.OnLostFocus = vbNullString Then ctl.OnLostFocus = "=fncPintaCampo([" & ctl.Name & "],0)" 'Cor Branca
Case acCommandButton 'botões
If ctl.OnGotFocus = vbNullString Then ctl.OnGotFocus = "=fncPintaBotao([" & ctl.Name & "], 255)" 'cor vermelha
If ctl.OnLostFocus = vbNullString Then ctl.OnLostFocus = "=fncPintaBotao([" & ctl.Name & "], 0)" 'cor preta
End Select
Next
For Each rtl In frm.Labels
Select Case rtl.BackStyle
Case acLabel
If ctl.OnGotFocus = vbNullString Then ctl.OnGotFocus = "fncPintaRotulo([" & rtl.Name & "], 1)"
If ctl.OnLostFocus = vbNullString Then ctl.OnLostFocus = "fncPintaRotulo([" & rtl.Name & "],0)"
End Select
Next
End Function
Public Function fncPintaCampo(ctl As Control, cor As Byte)
ctl.BackColor = Switch(cor = 0, RGB(255, 255, 255), cor = 1, RGB(255, 253, 185))
If cor = 1 Then ctl.SelStart = Len(ctl.Value & "")
End Function
Public Function fncPintaBotao(ctl As Control, cor As Integer)
ctl.ForeColor = cor
ctl.FontBold = IIf(cor = 0, False, True)
End Function
Public Function fncPintaRotulo(rtl as Label, cor as Byte)
rtl.Backcolor = Switch(cor = 0, RGB(255, 255, 255), cor = 1, RGB(255, 253, 185))
If cor = 1 Then rtl.SelStart = Len(rtl.Value & "")
Public Function fncMontaEventos(frm As Form)
Dim ctl As Control
Dim rtl As Label
For Each ctl In frm.Controls
Select Case ctl.ControlType
Case acTextBox, acComboBox, acListBox 'caixa texto, combobox e listbox
If ctl.OnGotFocus = vbNullString Then ctl.OnGotFocus = "=fncPintaCampo([" & ctl.Name & "],1)" 'Cor Amarela
If ctl.OnLostFocus = vbNullString Then ctl.OnLostFocus = "=fncPintaCampo([" & ctl.Name & "],0)" 'Cor Branca
Case acCommandButton 'botões
If ctl.OnGotFocus = vbNullString Then ctl.OnGotFocus = "=fncPintaBotao([" & ctl.Name & "], 255)" 'cor vermelha
If ctl.OnLostFocus = vbNullString Then ctl.OnLostFocus = "=fncPintaBotao([" & ctl.Name & "], 0)" 'cor preta
End Select
Next
For Each rtl In frm.Labels
Select Case rtl.BackStyle
Case acLabel
If ctl.OnGotFocus = vbNullString Then ctl.OnGotFocus = "fncPintaRotulo([" & rtl.Name & "], 1)"
If ctl.OnLostFocus = vbNullString Then ctl.OnLostFocus = "fncPintaRotulo([" & rtl.Name & "],0)"
End Select
Next
End Function
Public Function fncPintaCampo(ctl As Control, cor As Byte)
ctl.BackColor = Switch(cor = 0, RGB(255, 255, 255), cor = 1, RGB(255, 253, 185))
If cor = 1 Then ctl.SelStart = Len(ctl.Value & "")
End Function
Public Function fncPintaBotao(ctl As Control, cor As Integer)
ctl.ForeColor = cor
ctl.FontBold = IIf(cor = 0, False, True)
End Function
Public Function fncPintaRotulo(rtl as Label, cor as Byte)
rtl.Backcolor = Switch(cor = 0, RGB(255, 255, 255), cor = 1, RGB(255, 253, 185))
If cor = 1 Then rtl.SelStart = Len(rtl.Value & "")
DamascenoJr.- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 3845
Registrado : 22/11/2016
Tauron, avançou neste assunto?
.................................................................................
Ajude-se a ser ajudado, anexe seu projeto.
Sempre tente entender o código, não somente copie e cole.
Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
tauron- VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1416
Registrado : 07/12/2011
Desculpem, achei que tinha encerrado este.
» [Resolvido]Pintar Campo ao Receber Foco
» [Resolvido]Um campo no formulario receber foco de um subformulario
» [Resolvido]Copiar texto de campo no subformulário ao receber o foco
» [Resolvido]Botão ao receber o foco ficar pulsando ou piscando
» [Resolvido]Suspender a execução de procedimento de evento ao receber foco
» [Resolvido]Um campo no formulario receber foco de um subformulario
» [Resolvido]Copiar texto de campo no subformulário ao receber o foco
» [Resolvido]Botão ao receber o foco ficar pulsando ou piscando
» [Resolvido]Suspender a execução de procedimento de evento ao receber foco