Partilhar via


Método Activate

[O Microsoft Agent foi preterido a partir do Windows 7 e pode não estar disponível em versões subsequentes do Windows.]

Descrição

Define o cliente ou caractere ativo.

Sintaxe

agente**. Personagens ("CharacterID"). Ativar** [ Estado]

Peça Descrição
Estado 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 são visíveis, apenas um dos caracteres recebe entrada de fala de cada vez. Da mesma forma, quando vários aplicativos cliente compartilham o mesmo caractere, apenas um dos clientes recebe entrada do mouse (por exemplo, eventos de clique ou arraste do controle do Microsoft Agent). O conjunto de caracteres para receber a entrada de mouse e fala é o caractere mais alto e o cliente que recebe a entrada é o cliente ativo desse caractere. (A janela do caractere mais alto também aparece na parte superior da ordem z da janela do caractere.) Normalmente, o usuário determina o caractere mais alto selecionando explicitamente o caractere. No entanto, a ativação superior também muda quando um caractere é mostrado ou oculto (o personagem 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 ao caractere, como quando o próprio aplicativo se torna ativo. Por exemplo, definir State como 2 torna o caractere no topo e seu cliente recebe todos os eventos de entrada de mouse e fala gerados a partir da interação do usuário com o personagem. Portanto, ele também torna seu cliente o cliente ativo de entrada do personagem.

No entanto, você também pode definir a si mesmo para ser o cliente ativo de um personagem sem torná-lo o mais alto, definindo State como 1. Isso permite que seu cliente receba informações direcionadas para esse personagem quando o personagem se tornar o mais alto. Da mesma forma, você pode definir seu cliente para não ser o cliente ativo (não receber entrada) quando o caractere se tornar superior, definindo State como 0.

Evite chamar esse método diretamente após um Mostrar método. Mostrar define automaticamente o cliente ativo de entrada. Quando o caractere está oculto, a chamada Activate pode falhar se for processada antes que o método Show seja concluído.

Se você chamar esse método para uma função, ele retornará um valor booleano que indica se o método teve êxito. 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 State como 0 e seu aplicativo for o único cliente, essa chamada falhará porque um caractere sempre deve 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 de entrada.

Ver também

de eventos ActivateInput de eventos DeactivateInput