Activate 方法

[从 Windows 7 开始,Microsoft 代理已弃用,可能在后续版本的 Windows 中不可用。]

描述

设置活动客户端或字符。

语法

agent**。字符 (“CharacterID”) 。激活** [状态]

组成部分 描述
状态 可选。 可以为此参数指定以下值:0 不是活动客户端。
1 活动客户端。
2 (默认) 最上面的字符。

备注

当多个字符可见时,一次只有一个字符接收语音输入。 同样,当多个客户端应用程序共享同一个字符时,只有一个客户端接收鼠标输入 (例如,Microsoft 代理控制单击或拖动事件) 。 用于接收鼠标和语音输入的字符集是最顶层的字符,接收输入的客户端是该字符的活动客户端。 (最上面的字符窗口也显示在字符窗口的 z-order 的顶部。) 通常,用户通过显式选择字符来确定最上面的字符。 但是,当字符显示或隐藏时,最顶层的激活也会更改, (该字符变为或不再位于最顶部。)

还可以使用此方法显式管理客户端何时收到定向到 字符的输入,例如应用程序本身变为活动状态。 例如,将 “状态” 设置为 2 会使字符最顶层,并且客户端接收用户与字符交互时生成的所有鼠标和语音输入事件。 因此,它还会使客户端成为 字符的输入活动客户端。

但是,通过将 State 设置为 1,还可以将自己设置为字符的活动客户端,而无需将字符放在最顶层。 这使客户端能够在字符变为最顶层时接收定向到该字符的输入。 同样,通过将 State 设置为 0,可以将客户端设置为非活动客户端, (在字符变为最顶层时不接收输入) 。

避免在 Show 方法之后直接调用此方法。 Show 自动设置输入活动客户端。 隐藏字符时,如果在 Show 方法完成之前对其进行处理,则 Activate 调用可能会失败。

如果将此方法调用函数,它将返回一个布尔值,该值指示该方法是否成功。 在隐藏指定字符时,尝试调用此方法时 ,如果 State 参数设置为 2,将失败。 同样,如果将 State 设置为 0,并且应用程序是唯一的客户端,则此调用会失败,因为字符必须始终具有最顶层的客户端。

   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

注意

状态 设置为 1 的情况下调用此方法通常不会生成 ActivateInput 事件,除非没有加载其他字符或者应用程序已输入活动。

另请参阅

ActivateInput 事件DeactivateInput 事件