IRawElementProviderFragmentRoot::ElementProviderFromPoint-Methode (uiautomationcore.h)
Ruft den Anbieter des Elements ab, das sich an dem angegebenen Punkt in diesem Fragment befindet.
Syntax
HRESULT ElementProviderFromPoint(
[in] double x,
[in] double y,
[out, retval] IRawElementProviderFragment **pRetVal
);
Parameter
[in] x
Typ: double
Die horizontale Bildschirmkoordinate.
[in] y
Typ: double
Die vertikale Bildschirmkoordinate.
[out, retval] pRetVal
Typ: IRawElementProviderFragment**
Empfängt einen Zeiger auf den Anbieter des Elements bei (x, y) oder NULL , wenn keines vorhanden ist. Dieser Parameter wird nicht initialisiert übergeben.
Rückgabewert
Typ: HRESULT
Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.
Hinweise
Der zurückgegebene Anbieter sollte dem Element entsprechen, das die Mauseingabe an dem angegebenen Punkt empfangen würde.
Wenn sich der Punkt auf diesem Element, aber nicht auf einem untergeordneten Element befindet, wird entweder NULL oder der Anbieter des Fragmentstamms zurückgegeben. Wenn sich der Punkt auf einem Element in einem anderen Framework befindet, das von diesem Fragment gehostet wird, gibt die Methode das Element zurück, das dieses Fragment hostet (wie in IRawElementProviderFragment::GetEmbeddedFragmentRoots angegeben).
Beispiele
Das folgende Beispiel zeigt eine Implementierung für ein Listenfeld, das in einem HWND gehostet wird, dessen Handle m_controlHwnd ist. IndexFromY ruft den Index des Listenelements an der Cursorposition ab, und GetItemByIndex ruft den Benutzeroberflächenautomatisierung Anbieter für dieses Element ab.
HRESULT STDMETHODCALLTYPE ListProvider::ElementProviderFromPoint(double x, double y, IRawElementProviderFragment** pRetVal)
{
if (pRetVal == NULL)
{
return E_INVALIDARG;
}
POINT pt;
pt.x = (LONG)x;
pt.y = (LONG)y;
ScreenToClient(m_controlHwnd, &pt);
int itemIndex = this->m_pControl->IndexFromY(m_controlHwnd, pt.y);
ListItemProvider* pItem = GetItemByIndex(itemIndex);
if (pItem != NULL)
{
*pRetVal = (IRawElementProviderFragment*)pItem;
pItem->AddRef();
}
else
{
pRetVal = (IRawElementProviderFragment*)this;
pItem->AddRef();
}
return S_OK;
}
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | uiautomationcore.h (include UIAutomation.h) |