Evento Form.GotFocus (Access)
O evento GotFocus ocorre quando o objeto especificado recebe o foco.
Sintaxe
expressão. Gotfocus
expressão Uma variável que representa um objeto Form.
Comentários
Para executar uma macro ou procedimento de evento quando esses eventos ocorrerem, defina a propriedade OnGotFocus como o nome da macro ou para [Procedimento de Evento].
Esses eventos ocorrem quando o foco se move em resposta a uma ação do usuário, como pressionar a tecla Tab ou clicar no objeto ou quando você usa o método SetFocus no Visual Basic ou a ação SelectObject, GoToRecord, GoToControl ou GoToPage em uma macro.
Um controle pode receber o foco somente se suas propriedades Visible e habilitado estão definidas como Sim. Um formulário pode receber o foco somente se não tiver controles ou se todos os controles visíveis estiverem desativados. Se um formulário contiver algum controle visível e ativado, o evento GotFocus para o formulário não ocorre.
Você pode especificar o que acontece quando um formulário ou controle recebe o foco executando uma macro ou um procedimento de evento quando o evento GotFocus ocorre. Por exemplo, ao anexar um procedimento de evento GotFocus a cada controle em um formulário, você pode guiar o usuário através de seu aplicativo exibindo breves instruções ou mensagens em uma caixa de texto. Você também pode fornecer dicas visuais por habilitar, desabilitar ou exibindo controles que dependem do controle com o foco.
Observação
Para personalizar a ordem na qual o foco passa do controle para o controle em um formulário quando você pressiona a tecla Tab, defina a ordem da guia ou especifique as chaves de acesso para os controles.
O evento GotFocus difere do evento Enter, em que o evento GotFocus ocorre sempre que um controle recebe o foco. Por exemplo, suponha que o usuário clica em uma caixa de seleção em um formulário, e em seguida, clicar em um relatório e finalmente clica na caixa de seleção no formulário de colocá-lo para o primeiro plano. O evento GotFocus ocorre nas duas vezes em que a caixa de seleção recebe o foco. Por outro lado, o evento Enter ocorre somente na primeira vez em que o usuário clica na caixa de seleção. O evento GotFocus ocorre após o evento Enter.
Se você mover o foco para um controle em um formulário, e que o controle não tem o foco nesse formulário, o Sair e eventos LostFocus para o controle que tem o foco no formulário ocorrerão antes dos eventos Enter e GotFocus para o controle movido para.
Se você utilizar o mouse para mover o foco de um controle em um formulário principal para um controle em um subformulário nesse formulário, ocorrerão os eventos a seguir:
- Exit (para o controle no formulário principal)
- LostFocus (para o controle no formulário principal)
- Insira (para o controle de subformulário)
- Exit (para o controle no subformulário que tinha o foco)
- LostFocus (para o controle no subformulário que tinha o foco)
- Insira (para o controle no subformulário que o foco foi movido)
- GotFocus (para o controle no subformulário que o foco foi movido)
Se o controle para o qual você passou no subforma anteriormente tiver o foco, nem o evento Enter nem o evento GotFocus ocorrerão, mas o evento Enter para o controle de subformação ocorrerá. Se você mover o foco de um controle em um subforma para um controle no formulário principal, os eventos Exit e LostFocus para o controle no subformformo não ocorrerão, apenas o evento Exit para o controle subformforme e os eventos Enter e GotFocus para o controle na forma principal.
Observação
Muitas vezes você usa o mouse ou uma chave, como Tab, para mover o foco para outro controle. Isso faz com que os eventos de mouse ou de teclado ocorram, além dos eventos discutidos neste tópico.
Quando você alterna entre dois formulários abertos, o evento Deactivate ocorre no primeiro formulário e o evento Activate ocorre para o segundo formulário. Se os formulários contiverem não está visível, habilitado para controles, o evento LostFocus ocorre no primeiro formulário antes do evento Deactivate, e o evento GotFocus ocorre para o segundo formulário depois do evento Activate.
Exemplo
O exemplo a seguir exibe uma mensagem em um rótulo quando o foco é movido para um botão de opção. Para experimentar o exemplo, adicione os procedimentos de evento a seguir a um formulário chamado Contatos que contém um botão de opção chamado OptionYes e um rótulo chamado LabelYes.
Private Sub OptionYes_GotFocus()
Me!LabelYes.Caption = "Option button 'Yes' has the focus."
End Sub
Private Sub OptionYes_LostFocus()
Me!LabelYes.Caption = "" ' Clear caption.
End Sub
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.