FireMonkey-Textlayout

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu FireMonkey-Anwendungsdesign


FireMonkey stellt Methoden zum schnellen Rendern von Text mit TTextLayout bereit. Jedes Betriebssystem verfügt über spezielle Implementierungen zum Rendern von Text. In Windows-Versionen vor Vista SP1 wird das Rendern von Text von der GDI+ API, ansonsten von der DirectWrite API durchgeführt. Unter macOS und iOS wird das Rendern von Text durch das Core Text Framework unterstützt. Unter Android führt eine auf Skia basierende integrierte Implementierung das Rendern von Text durch.

Alle Textlayout-Engines führen Folgendes aus:

  • Passen den Text mit speziellen Attributen, Schriftart und Ausrichtung an
  • Ermöglichen die Berechnung von Schriftartmetriken
  • Rendern Text auf den gegebenen Grafikkontext
  • Führen die Konvertierung des Textes in Vektorpfade durch

DirectWrite und Core Text arbeiten zwar mit denselben Konzepten, unterscheiden sich aber in den Details. Weitere Informationen über die Textlayout-Funktionen von FireMonkey finden Sie unter Verwenden der Textlayout-Funktionen von FireMonkey.

TTextLayout stellt die grundlegende Abstraktion für betriebssystemspezifische Implementierungen zum Rendern von Textkomponenten bereit.

Hinweis: Wenn Sie mehrere Eigenschaften des Layouts gleichzeitig ändern, sollten Sie die Prozeduren BeginUpdate und EndUpdate verwenden. Zum Ändern von nur einer Eigenschaft brauchen Sie die Prozeduren BeginUpdate und EndUpdate nicht zu verwenden.
Die folgende Abbildung zeigt die Positionen des Textlayouts auf der Zeichenfläche und die Bedeutung der Texteigenschaften:
TTextLayout Canvas.png
Hinweis: Beim von DirectWrite unterstützten Rendern von Text kann die Farbe (Color) nur für das gesamte Layout geändert werden. Beim von GDI+ unterstützten Rendern von Text werden keine Textattribute unterstützt.
  • Mit Textmetriken können Sie den Cursor anhand von Punktkoordinaten und die Koordinaten eines Textbereichs ermitteln.
    • Mit der Methode PositionAtPoint ermitteln Sie die Position des Textes anhand der Positionskoordinaten.
    • Mit RegionForRange ermitteln Sie das Array mit den Rechtecken, die den in ARange angegebenen Textbereich umgeben.
  • Mit der Methode RenderLayout rendern Sie das Layout auf einer angegebenen Zeichenfläche Canvas.

Hinweis: Auf der iOS-Plattform funktioniert Trimming nur, wenn WordWrap = False.

Themen

Siehe auch