ITextRangeProvider::GetChildren-Methode (uiautomationcore.h)
Ruft eine Auflistung aller Elemente ab, die (teilweise oder vollständig) im angegebenen Textbereich enthalten sind und untergeordnete Elemente des einschließenden Elements für den angegebenen Textbereich sind.
Syntax
HRESULT GetChildren(
[out, retval] SAFEARRAY **pRetVal
);
Parameter
[out, retval] pRetVal
Typ: SAFEARRAY**
Ein Array von Zeigern auf die IRawElementProviderSimple-Schnittstellen für alle untergeordneten Elemente, die vom Textbereich eingeschlossen werden (sortiert nach dem Startendpunkt ihrer Bereiche).
Wenn der Textbereich keine untergeordneten Elemente enthält, wird eine leere Auflistung zurückgegeben.
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
Jedes mit ITextRangeProvider::GetChildren abgerufene Element verfügt ü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.
- GetChildren gibt den Link nicht zurück.
- GetEnclosingElement gibt das Bild für keinen Textbereich zurück.
- GetEnclosingElement on Range1 gibt den Link zurück.
- GetChildren in Range1 gibt keine untergeordneten Elemente zurück.
- GetEnclosingElement im Textbereich für den ITextProvider des Streams gibt den Anbieter zurück.
- 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
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
ITextProvider, ITextRangeProvider, GetEnclosingElement, ITextProvider::RangeFromChild, Benutzeroberflächenautomatisierung Providers Overview, Best Practices for Using Safe Arrays