Použití serverové anotace

Toto téma obsahuje informace o použití anotace serveru k určení objektu zpětného volání.

Přepsat vlastnost, která určuje objekt zpětného volání

  1. Získejte ukazatel rozhraní IAccessible na přístupný prvek, který má být opatřen poznámkami.
  2. Voláním QueryInterface u přístupného prvku získáte ukazatel rozhraní IAccIdentity.
  3. Volání IAccIdentity::GetIdentityString() na IAccIdentity ukazatele rozhraní pro získání řetězce, který jednoznačně identifikuje přístupný prvek, který má být anotován.
  4. Pomocí CoCreateInstance nebo CoCreateInstanceEx vytvořte objekt IAccPropServices.
  5. Vytvořte objekt modelu COM (Component Object Model), který implementuje IAccPropServer.
  6. Volání IAccPropServices::SetPropServer, předání řetězce identity, identifikátor GUID označující vlastnost, která má být přepsána, a ukazatel na IAccPropServer zpětné volání objektu.
  7. Uvolněte ukazatele rozhraní a paměť.

Když klient požádá o vlastnost přístupného elementu, bude volán objekt zpětného volání a vrátí hodnotu klientovi.

Jako při zadávání hodnoty mohou vývojáři serveru alternativně použít IAccPropServices::ComposeHwndIdentityString metodu získání řetězce identity; nebo mohou použít metodu IAccPropServices::SetHwndProp Server a místo řetězce identity zadat hwnd, idObjectnebo idChild parametry.

Při použití SetPropServer nebo SetHwndPropServer u objektu kontejneru mohou vývojáři serveru volitelně určit, že přepsané informace by měly být také aplikovány na všechny podřízené prvky daného kontejneru.

Servery mohou kdykoliv vymazat poznámku pomocí IAccPropServices::ClearProps. Obvykle to není nutné, protože služba poznámek automaticky vyčistí a uvolní informace o poznámkách, když přístupný prvek, který je opatřen poznámkami, zmizí.

Níže je seznam vlastností, které lze pomocí tohoto postupu anotovat.

Vlastnosti podporované při specifikaci zpětného volání

Při zadávání zpětného volání lze následující vlastnosti anotovat. V současné době nelze tyto vlastnosti přímo anotovat zadáním hodnoty.

Nemovitost / Vlastnictví Typ
PROPID_ACC_NAME VT_BSTR
PROPID_ACC_DESCRIPTION VT_BSTR
PROPID_ACC_ROLE VT_I4
PROPID_ACC_STATE VT_I4
PROPID_ACC_HELP VT_BSTR
PROPID_ACC_KLÁVESOVÁZKRATKA VT_BSTR
PROPID_ACC_DEFAULTACTION VT_BSTR
PROPID_ACC_VALUEMAP VT_BSTR
PROPID_ACC_ROLEMAP VT_BSTR
PROPID_ACC_STATEMAP VT_BSTR
PROPID_ACC_FOCUS VT_DISPATCH
VT_I4
PROPID_ACC_SELECTION VT_DISPATCH
VT_I4
VT_UNKNOWN
PROPID_ACC_PARENT VT_DISPATCH
PROPID_ACC_NAV_UP VT_DISPATCH
VT_I4
PROPID_ACC_NAV_DOWN VT_DISPATCH
VT_I4
PROPID_ACC_NAV_LEFT VT_DISPATCH
VT_I4
PROPID_ACC_NAV_RIGHT VT_DISPATCH
VT_I4
PROPID_ACC_NAV_PREV VT_DISPATCH
VT_I4
PROPID_ACC_NAV_NEXT VT_DISPATCH
VT_I4
PROPID_ACC_NAV_PRVNÍDÍTĚ VT_DISPATCH
VT_I4
PROPID_ACC_NAV_LASTCHILD VT_DISPATCH
VT_I4