Trotz ihres Namens erweitert die ITextRangeProvider::ExpandToEnclosingUnit-Methode nicht unbedingt einen Textbereich. Stattdessen wird ein Textbereich “normalisiert”, indem die Endpunkte so bewegt werden, dass der Bereich die angegebene Texteinheit umfasst. Der Bereich wird erweitert, wenn er kleiner als die angegebene Einheit ist, oder verkürzt, wenn er länger als die angegebene Einheit ist. Es ist wichtig, dass die ExpandToEnclosingUnit-Methode Textbereiche immer konsistent normalisiert. Andernfalls wären andere Aspekte der Textbereichsmanipulation durch Texteinheit unvorhersehbar. Das folgende Diagramm zeigt, wie ExpandToEnclosingUnit einen Textbereich normalisiert, indem die Endpunkte des Bereichs bewegt werden. Sie können das pattern-Attribut verwenden, um einen regulären Ausdruck anzugeben, den der eingegebene Wert übereinstimmen muss, um als gültig angesehen zu werden (siehe Validieren für einen regulären Ausdruck für einen einfachen Absturzkurs bei der Verwendung regulärer Ausdrücke zum Überprüfen von Eingaben). Wenn ein Steuerelement die Auswahl mehrerer, getrennter Textspannen unterstützt, fügen die Methoden ITextRangeProvider::AddToSelection und RemoveFromSelection Textbereiche hinzu und entfernen sie aus der Auflistung ausgewählter Textbereiche. Wenn das Steuerelement jeweils nur einen ausgewählten Textbereich unterstützt, der Auswahlvorgang jedoch zur Auswahl mehrerer getrennter Textbereiche führen würde, sollte der Anbieter entweder einen E_INVALIDOPERATION Fehler zurückgeben oder die aktuelle Auswahl erweitern oder abschneiden.

Die ITextProvider::SupportedTextSelection-Eigenschaft sollte angeben, ob ein Steuerelement die Auswahl einzelner oder mehrerer Textspannen oder gar keine unterstützt. Wenn ein eingebettetes Objekt einen Textbereich umfasst, sollte der Nur-Text den inneren Text des Objekts enthalten, jedoch nicht den alternativen Text (die Namenseigenschaft des eingebetteten Objekts), da er möglicherweise nicht mit dem beschreibenden inneren Text übereinstimmt. Weitere Informationen finden Sie unter Wie die Benutzeroberflächenautomatisierung eingebettete Objekte verfügbar macht. Beachten Sie beim Implementieren des Textsteuerungsmusters die folgenden Richtlinien und Konventionen: Message Endpoint-Code ist sowohl für die Anwendung als auch für die Client-API des Messagingsystems benutzerdefiniert. Der Rest der Anwendung weiß wenig über Nachrichtenformate, Messagingkanäle oder andere Details der Kommunikation mit anderen Anwendungen über Messaging. Es weiß nur, dass es eine Anforderung oder ein Datenelement hat, das an eine andere Anwendung gesendet werden soll, oder dass es diese von einer anderen Anwendung erwartet.