Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O evento GotFocus ocorre quando o objeto especificado recebe o foco.
Sintaxe
expressão. GotFocus
expressão Uma variável que representa um objeto TextBox .
Comentários
Para executar um procedimento de macro ou evento quando estes eventos ocorrem, defina a propriedade OnGotFocus para o nome da macro ou para [Procedimento de Evento].
Estes eventos ocorrem quando o foco se move em resposta a uma ação do utilizador, como premir a Tecla de Tabulação ou clicar no objeto, ou quando utiliza o método SetFocus no Visual Basic ou a ação SelectObject, GoToRecord, GoToControl ou GoToPage numa 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 pela qual o foco passa do controlo para o controlo num formulário quando prime a Tecla de Tabulação, defina a ordem de tabulação ou especifique as teclas de acesso dos controlos.
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 controlo para o qual se moveu no subformulário tinha o foco anteriormente, não ocorre o evento Enter nem o evento GotFocus , mas ocorre o evento Enter para o controlo de subformulário. Se mover o foco de um controlo num subformulário para um controlo no formulário principal, os eventos Exit e LostFocus do controlo no subformulário não ocorrem, apenas o evento Exit para o controlo de subformulário e os eventos Enter e GotFocus para o controlo no formulário principal.
Observação
Utiliza frequentemente o rato ou uma tecla, como a Tecla de Tabulação, para mover o foco para outro controlo. 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 seguintes procedimentos de evento a um formulário denominado Contactos que contém um botão de opção denominado OptionYes e uma etiqueta com o nome 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.