Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Toto téma obsahuje ukázkový kód, který znázorňuje, jak zpřístupnit poskytovatele Microsoft UI Automation na straně serveru pro vlastní ovládací prvek.
Microsoft UI Automation odešle WM_GETOBJECT zprávu do aplikace zprostředkovatele, aby načetla informace o přístupném objektu podporovaném poskytovatelem. Automatizace uživatelského rozhraní odesílá WM_GETOBJECT, když klient volá IUIAutomation::ElementFromHandle, ElementFromPointa GetFocusedElement, a při zpracování událostí, které si klient zaregistroval.
Když zprostředkovatel obdrží WM_GETOBJECT zprávu, měl by zkontrolovat, zda je parametr lParam roven UiaRootObjectId. Pokud ano, měl by poskytovatel vrátit IRawElementProviderSimple rozhraní objektu. Zprostředkovatel vrátí rozhraní voláním funkce UiaReturnRawElementProvider.
Následující příklad ukazuje, jak reagovat na WM_GETOBJECT.
// Expose the custom button's server-side provider to UI Automation.
case WM_GETOBJECT:
{
// If lParam matches UiaRootObjectId, return IRawElementProviderSimple.
if (static_cast<long>(lParam) == static_cast<long>(UiaRootObjectId))
{
// Retrieve the pointer to the custom button object from the
// window data.
CustomButton* pControl = reinterpret_cast<CustomButton*>(
GetWindowLongPtr(hwnd, GWLP_USERDATA));
// Call an application-defined method to get the
// IRawElementProviderSimple pointer.
IRawElementProviderSimple* pRootProvider =
pControl->GetUIAutomationProvider(hwnd);
// Return the IRawElementProviderSimple pointer to UI Automation.
return UiaReturnRawElementProvider(hwnd, wParam, lParam,
pRootProvider);
}
return 0;
}
Související témata
-
koncepční
-
Implementace Server-Side zprostředkovatele automatizace uživatelského rozhraní
-
How-To témata pro poskytovatele automatizace uživatelského rozhraní