Sdílet prostřednictvím


Activate – metoda

[Microsoft Agent je zastaralý jako Windows 7 a může být nedostupný v následujících verzích Windows.]

popisu

Nastaví aktivního klienta nebo znak.

syntaxe

agenta**. Znaky ("CharacterID"). Aktivovat** [State]

Část Popis
stavu Volitelný. Pro tento parametr můžete zadat následující hodnoty: 0 Není aktivním klientem.
1 Aktivní klient.
2 (Výchozí) Nejvíce znak.

Poznámky

Pokud je viditelných více znaků, obdrží najednou vstup řeči jenom jeden z nich. Podobně platí, že pokud více klientských aplikací sdílí stejný znak, obdrží vstup myši jenom jeden z klientů (například kliknutí nebo přetažení událostí ovládacího prvku Microsoft Agent). Znaková sada pro příjem myši a vstupu řeči je nejvyšší znak a klient, který přijímá vstup, je aktivním klientem daného znaku. (Horní okno znaku se také zobrazí v horní části pořadí vykreslování okna znaku.) Uživatel obvykle určuje nejvíce znak tím, že explicitně vybere znak. Aktivace nejvyšší úrovně se ale změní také v případě, že se znak zobrazí nebo skryje (znak se stane nebo už není úplně nahoře.)

Tuto metodu můžete také použít k explicitní správě, když klient obdrží vstup směrovaný na znak, například když se vaše aplikace sama stane aktivní. Když například nastavíte State na 2, bude znak na nejvyšší úrovni a váš klient obdrží všechny události vstupu myši a řeči vygenerované z interakce uživatele s znakem. Proto také z klienta dělá vstupního a aktivního klienta znaku.

Můžete ale také nastavit, aby byl aktivním klientem znaku bez toho, aby znak byl úplně nahoře, nastavením State na hodnotu 1. To umožňuje klientovi přijímat vstupy směrované na tento znak, když se znak stane nejvyšší. Podobně můžete nastavit, aby klient nebyl aktivním klientem (nikoli přijímat vstup), když se znak stane nejvyšší, nastavením State na 0.

Vyhněte se volání této metody přímo za metodou Show. Zobrazit automaticky nastaví klienta aktivního vstupu. Pokud je znak skrytý, volání Activate může selhat, pokud se zpracuje před dokončením metody Show.

Pokud tuto metodu zavoláte do funkce, vrátí logickou hodnotu, která označuje, zda metoda byla úspěšná. Pokus o volání této metody s parametrem State nastavenou na hodnotu 2, pokud je zadaný znak skrytý, selže. Podobně pokud nastavíte State na 0 a vaše aplikace je jediným klientem, toto volání selže, protože znak musí mít vždy nejvyššího klienta.

   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

Poznámka

Volání této metody s State nastavenou na hodnotu 1 obvykle nevygeneruje událost ActivateInput, pokud nejsou načteny žádné jiné znaky nebo aplikace je již aktivní vstup-aktivní.

Viz také

události ActivateInput, DeactivateInput událost