Método Activate
[O Microsoft Agent foi preterido a partir do Windows 7 e pode estar indisponível nas versões subsequentes do Windows.]
-
Define o cliente ou caractere ativo.
-
Sintaxe
-
agent**. Caracteres ("CharacterID"). Activate** [State]
Parte Descrição State Opcional. Você pode especificar os seguintes valores para esse parâmetro: 0 Não é o cliente ativo.
1 O cliente ativo.
2 (Padrão) O caractere mais alto.
Comentários
Quando vários caracteres estão visíveis, apenas um dos caracteres recebe a entrada de fala por vez. Da mesma forma, quando vários aplicativos cliente compartilham o mesmo caractere, apenas um dos clientes recebe a entrada do mouse (por exemplo, o controle do Microsoft Agent clica ou arrasta eventos). O conjunto de caracteres para receber o mouse e a entrada de fala é o caractere mais alto e o cliente que recebe a entrada é o cliente ativo desse caractere. (A janela do caractere superior também aparece na parte superior da ordem z da janela de caracteres.) Normalmente, o usuário determina o caractere mais alto selecionando explicitamente o caractere. No entanto, a ativação superior também é alterada quando um caractere é mostrado ou oculto (o caractere se torna ou não é mais superior, respectivamente.)
Você também pode usar esse método para gerenciar explicitamente quando o cliente recebe entrada direcionada para o caractere, como quando o próprio aplicativo se torna ativo. Por exemplo, definir Estado como 2 torna o caractere mais alto e seu cliente recebe todos os eventos de entrada de mouse e fala gerados a partir da interação do usuário com o caractere. Portanto, ele também torna seu cliente o cliente ativo de entrada do caractere.
No entanto, você também pode definir-se como o cliente ativo de um caractere sem tornar o caractere mais alto, definindo Estado como 1. Isso permite que o cliente receba entrada direcionada para esse caractere quando o caractere se torna superior. Da mesma forma, você pode definir seu cliente para não ser o cliente ativo (não receber entrada) quando o caractere se tornar mais alto, definindo Estado como 0.
Evite chamar esse método diretamente após um método Show . Mostrar define automaticamente o cliente ativo de entrada. Quando o caractere estiver oculto, a chamada Activate poderá falhar se for processada antes da conclusão do método Show .
Se você chamar esse método para uma função, ele retornará um valor booliano que indica se o método foi bem-sucedido. A tentativa de chamar esse método com o parâmetro State definido como 2 quando o caractere especificado estiver oculto falhará. Da mesma forma, se você definir Estado como 0 e seu aplicativo for o único cliente, essa chamada falhará porque um caractere sempre deverá ter um cliente superior.
Dim Genie as Object
Sub FormLoad()
Agent1.Characters.Load "Genie", "Genie.acs"
Set Genie = Agent1.Characters ("Genie")
If (Genie. Activate = True) Then
'I'm active
Else
'I must be hidden or something
End If
End Sub
Observação
Chamar esse método com State definido como 1 normalmente não gera um evento ActivateInput , a menos que não haja outros caracteres carregados ou seu aplicativo já esteja ativo na entrada.