ifahidalgo 14/8/2014, 15:34
estou utilizando um modulo de pintar foco do amigo Avelino, que faz utilização no evento de perder e receber foco. ao retirar a utilização desse modulo, funcionou.
será que consigo utilizar as duas coisas
segue o codigo do modulo
Option Compare Database
Public Function fncMontaEventos(frm As Form)
Dim ctl As Control
'--------------------------------------------------------------------------------------
'Com a instrução FOR EACH , percorreremos todos os campos do Formulário para gravar a 'função fncPintaCampo() nos eventos "Ao receber foco" e "Ao perder foco"
'--------------------------------------------------------------------------------------
For Each ctl In frm.Controls
Select Case ctl.ControlType
'-----------------------------------------------------------------------------
'Escreve as funções somente nos eventos dos controles tipo caixa de texto
'-----------------------------------------------------------------------------
Case acTextBox, acComboBox, acListBox
'---------------------------------------------------------------------------------
'Monta e escreve a função fncPintaCampo() nos evento "Ao receber foco" 'da caixa de texto
'Lembrando que estamos dentro do laço FOR. Significa que todas as caixas de texto 'receberão a função
'---------------------------------------------------------------------------------
ctl.OnGotFocus = "=fncPintaCampo([" & ctl.Name & "],1)"
'--------------------------------------------------------------------------------
'Monta e escreve a função fncPintaCampo() no evento "Ao perder foco" 'da caixa de texto
'-------------------------------------------------------------------------------
ctl.OnLostFocus = "=fncPintaCampo([" & ctl.Name & "],0)"
End Select
Next
End Function
'---------------------------------------------------------------------------
Public Function fncPintaCampo(ctl As Control, Cor As Byte)
'--------------------------------------------
'Altera a cor do campo que possui o foco
'Ao receber o foco, passa para a cor amarela
'Ao perder o foco, passa para a cor branca
'--------------------------------------------
ctl.BackColor = Switch(Cor = 0, RGB(255, 255, 255), Cor = 1, RGB(255, 253, 185))
'------------------------------------------------------
'Ao receber o foco posiciona o cursor no final do texto
'------------------------------------------------------
'If Cor = 1 Then ctl.SelStart = Len(ctl.Value & "")
End Function