Activate 方法

[Microsoft 代理程式在 Windows 7 中已被取代,且在後續版本的 Windows 中可能無法使用。]

描述

設定使用中的用戶端或字元。

語法

agent**。字元 (「CharacterID」) 。Activate** [State]

部分 描述
State 選擇性。 您可以指定此參數的下列值:0 不是使用中的用戶端。
1 作用中的用戶端。
2 (預設值) 最上層字元。

備註

當顯示多個字元時,一次只會收到其中一個字元的語音輸入。 同樣地,當多個用戶端應用程式共用相同的字元時,只有其中一個用戶端會收到滑鼠輸入 (,例如,Microsoft Agent 控制按一下或拖曳事件) 。 要接收滑鼠和語音輸入的字元集是最上層字元,而接收輸入的用戶端則是該字元的作用中用戶端。 (最上層字元的視窗也會出現在字元視窗 z-order.) 的頂端,使用者藉由明確選取字元來決定最上層的字元。 不過,當字元顯示或隱藏時,最上層啟用也會變更, (字元變成或不再最上層。)

您也可以使用這個方法,在用戶端收到導向至字元的輸入時明確管理,例如當應用程式本身變成使用中時。 例如,將 State 設定為 2 可讓字元最上層,且您的用戶端會收到使用者與字元互動所產生的所有滑鼠和語音輸入事件。 因此,它也會讓您的用戶端成為字元的輸入主動用戶端。

不過,您也可以將 [狀態 ] 設定為 [狀態] 為 [1],將字元設為使用中用戶端,而不讓字元最上層。 這可讓您的用戶端在字元變成最上層時接收導向至該字元的輸入。 同樣地,您可以將用戶端設定為不是使用中用戶端, (在字元變成最上層時接收輸入) ,方法是將 [狀態 ] 設定為 0。

避免在 Show 方法之後直接呼叫這個方法。 顯示 會自動設定輸入主動用戶端。 隱藏字元時,如果啟動呼叫在Show方法完成之前處理,啟動呼叫可能會失敗。

如果您呼叫這個方法給函式,它會傳回布林值,指出方法是否成功。 嘗試在隱藏指定的字元時,將 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 的 State 方法通常不會產生 ActivateInput 事件,除非沒有載入其他字元,或您的應用程式已經是輸入主動。

另請參閱

ActivateInput 事件DeactivateInput 事件