ITextProvider::RangeFromChild-Methode (uiautomationcore.h)
Ruft einen Textbereich ab, der das angegebene untergeordnete Element einschließt (z. B. ein Bild, link oder ein anderes eingebettetes Objekt).
Syntax
HRESULT RangeFromChild(
[in] IRawElementProviderSimple *childElement,
[out, retval] ITextRangeProvider **pRetVal
);
Parameter
[in] childElement
Typ: IRawElementProviderSimple*
Der Benutzeroberflächenautomatisierung Anbieter des angegebenen untergeordneten Elements.
[out, retval] pRetVal
Typ: ITextRangeProvider**
Der Textbereich, der das untergeordnete Element einschließt.
Dieser Bereich schließt den Inhalt des untergeordneten Elements vollständig ein, sodass:
- ITextRangeProvider::GetEnclosingElement gibt das untergeordnete Element selbst oder den innersten Nachfolger des untergeordneten Elements zurück, das denselben Textbereich wie das untergeordnete Element verwendet.
- ITextRangeProvider::GetChildren gibt untergeordnete Elemente des Elements von (1) zurück, die vollständig innerhalb des Bereichs eingeschlossen sind.
- Beide Endpunkte des Bereichs befinden sich an den Grenzen des untergeordneten Elements.
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.
Hinweis
E_INVALIDARG wird zurückgegeben, wenn childElement kein Abstamm eines ITextProvider ist oder nicht von einem gültigen Textbereich eingeschlossen wird.
Hinweise
Jedes mit ITextRangeProvider::GetChildren abgerufene Element verfügt außerdem über einen gültigen Textbereich, der über RangeFromChild abgerufen werden kann. Dies schließt alle Elemente in der Benutzeroberflächenautomatisierung-Struktur zwischen dem ITextProvider und dem untergeordneten Element ein.
Beispiele
Dieses Beispiel zeigt einen Textstream, der einen Bildlink enthält. Der Link ist ein untergeordnetes Element des Bilds, aber beide umfassen denselben Textbereich und werden als eingebettete Objekte im Textstream verfügbar gemacht.
Hello <Image Link> World
- Bild und Link sind auch absteigende Elemente des ITextProvider des Streams, und beide können als childElement in einem Aufruf von ITextProvider::RangeFromChild angegeben werden.
- Beim Aufrufen von ITextRangeProvider::RangeFromChild wird derselbe Textbereich (Range1) mithilfe des Bilds oder des Links zurückgegeben.
- ITextRangeProvider::GetChildren gibt den Link nicht zurück.
- ITextRangeProvider::GetEnclosingElement gibt das Bild für keinen Textbereich zurück.
- ITextRangeProvider::GetEnclosingElement on Range1 gibt den Link zurück.
- ITextRangeProvider::GetChildren in Range1 gibt keine untergeordneten Elemente zurück.
- ITextRangeProvider::GetEnclosingElement im Textbereich für den ITextProvider des Streams gibt den Anbieter zurück.
- ITextRangeProvider::GetChildren im Textbereich für den ITextProvider des Streams gibt nur das Bild zurück.
Dieses Beispiel zeigt einen Textstream, der eine zweizellige Tabelle enthält, die von Text umgeben ist.
Text starten
Tabellenzelle 1 Tabellenzelle 2 Text beenden
- Fall 1: Der ITextProvider des Streams und der gesamte Textbereich
- ITextRangeProvider::GetEnclosingElement für den gesamten Textbereich gibt den ITextProvider des Streams zurück.
- GetChildren gibt alle untergeordneten Elemente des ITextProvider des Streams zurück, in diesem Fall nur das Tabellenelement.
- Fall 2: Textbereich, der durch Aufrufen von ITextProvider::RangeFromChild für das Tabellenelement abgerufen wird:
- ITextRangeProvider::GetEnclosingElement gibt das Tabellenelement zurück.
- ITextRangeProvider::GetChildren gibt beide Tabellenzellen zurück.
- Fall 3: Textbereich, der den visuellen Inhalt von Tabellenzelle 1 Tabelle Zelle 2 umfasst:
- ITextRangeProvider::GetEnclosingElement gibt das Tabellenelement zurück.
- ITextRangeProvider::GetChildren gibt beide Tabellenzellen zurück.
- Fall 4: Textbereich, der das Wort Zelle der Tabellenzelle 1 umfasst:
- ITextRangeProvider::GetEnclosingElement gibt das erste Zellelement zurück.
- ITextRangeProvider::GetChildren gibt keine Elemente zurück.
- Fall 5: Ein degenerierter (leerer) Textbereich, der beide Starts (Tabelle und erste Zelle) darstellt:
- ITextRangeProvider::GetEnclosingElement gibt das erste Zellelement zurück (das innerste Element mit einem Bereich, der den entarteten Bereich enthält).
- ITextRangeProvider::GetChildren gibt keine Elemente zurück.
- Fall 1: Der ITextProvider des Streams und der gesamte Textbereich
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) |
Weitere Informationen
Übersicht über ITextProvider, ITextRangeProvider, ITextRangeProvider::GetEnclosingElement, ITextRangeProvider::GetChildren, Benutzeroberflächenautomatisierung Providers