Zum Hauptinhalt springen

RtfEdit

RtfEdit

Eingabeobjekt für mehrzeiligen formatierten Text

Details

In diesem Objekt kann unformatierter Text und Text im Rich Text Format (RTF) angezeigt und editiert werden. Der Text kann aus unterschiedlichen Quellen stammen. Die Quelle wird in der Eigenschaft StreamSource angegeben.

In den Eigenschaften des Objekts kann eine generelle Formatierung in Bezug auf die Schriftart (FontName und RtfEffect), Schriftgröße (FontSize und FontSizeTwips) und der Textausrichtung (RtfAlign) vorgenommen werden.

Soll innerhalb des Textes die Formatierung verändert werden, wird eine Toolbar vom Typ ToolbarRtf benötigt. Wird die Toolbar eingefügt, verbindet sie sich automatisch mit einem bereits existierenden RtfEdit-Objekt. Genauso verbindet sich das RtfEdit-Objekt mit einem bereits bestehenden ToobarRtf -Objekt. Bestehen mehrere Möglichkeiten eine Verbindung herzustellen, wird immer eine Verbindung zum ersten Objekt hergestellt.

Die Verbindung wird über die Eigenschaft ObjLink hergestellt.

Die Länge des Textes wird durch seine Quelle limitiert. Wird der Text in der Eigenschaft Caption angegeben, können maximal 8192 Zeichen geschrieben bzw. dargestellt werden.

Wurde eine andere Quelle angegeben, bezieht sich der Inhalt der Eigenschaft Caption auf den selektierten Bereich. Eine Selektion innerhalb des Textes kann über die Eigenschaft Range angegeben werden. Hiermit kann ebenfalls die Einfügemarke innerhalb des Textes positioniert werden, wenn der minimale und maximale Wert der Eigenschaft gleich ist. Wird die Eigenschaft Range auf den Wert RangeMake (- 1 , - 1 ) gesetzt, wird das Ende des Textes angesprungen.

Ein markierter Text kann mit Hilfe von Formatierungsanweisungen formatiert werden.

Im RtfEdit-Objekt werden folgende Tastaturkommandos ausgewertet:

  • Navigation

    • Der Cursor kann mit den Pfeiltasten im Text bewegt werden.
    • Strg + Pfeil rechts und Strg + Pfeil links positioniert den Cursor an den Anfang des folgenden oder des vorigen Wortes.
    • Strg + Bild runter und Strg + Bild hoch scrollt den Text seitenweise nach unten und oben.
    • Pos1 und Ende positioniert innerhalb einer Zeile auf die erste Spalte, oder auf das letzte Zeichen.
    • Bild runter und Bild hoch blättert eine Bildschirmseite.
    • Strg + Pos1 und Strg + Ende positioniert auf den Anfang bzw. auf das Ende des gesamten Textes.
    • Strg + Bild hoch und Strg + Bild runter positioniert den Cursor an den Anfang bzw. an das Ende des angezeigten Textes.
  • Markieren

    • Zum Markieren können die Tastenkombinationen zur Navigation bei gedrückter Umschalt -Taste verwendet werden.
    • Strg + A markiert den gesamten Text.
    • Strg + Entf löscht den markierten Text oder von der Cursorposition bis zum Ende des Wortes.
    • Strg + Backspace löscht den markierten Text oder von der Cursorposition bis zum Anfang des Wortes.
  • Ausschneiden / Kopieren / Einfügen

    • Strg + X oder Umschalt + Entf schneidet den markierten Textbereich aus.
    • Strg + C oder Strg + Einfg kopiert den markierten Textbereich.
    • Strg + V oder Umschalt + Einfg fügt den ausgeschnittenen/kopierten Textbereich ein.
    • Strg + Z macht die letzte Änderung rückgängig.
    • Strg + Y stellt die letzt rückgängig gemachte Änderung wieder her.
  • Formatierung und Eingabe von Sonderzeichen

    • Strg + E Absatz zentriert.
    • Strg + J Darstellung im Blocksatz.
    • Strg + R Absatz rechtsbündig.
    • Strg + L Absatz linksbündig.
    • Strg + Plus tief gestellt.
    • Strg + Umschalt + Plus hoch gestellt.
    • Strg + 1 einfacher Zeilenabstand.
    • Strg + 2 doppelter Zeilenabstand.
    • Strg + 5 halber Zeilenabstand.
    • Strg + Umschalt + L Wechsel des Aufzählungszeichen.
    • Strg + Umschalt + A wandelt den markierten Bereich in Großbuchstaben oder Kleinbuchstaben.
    • Alt + X Umwandlung des links neben der Einfügemarke stehenden Hexadezimalcodes in das entsprechende Unicode-Zeichen.
    • Alt + Umschalt + X Umwandlung des links neben der Einfügemarke stehenden Unicode-Zeichens in den entsprechenden Hexadezimalcode.

Beispiele:

tRange:min # 1; 
tRange:max # 30;
// alternativ
tRange # RangeMake(1, 30);

$RtfEdit->wpRange # tRange;
$RtfEdit->wpColBkg(_WinEditMark) # _WinColLightRed;