2.18 :getformat()

Mit der Methode :getformat() kann die Formatierung eines Textbereichs im RTF-Edittext erfragt werden. :getformat() liefert einen Wert zurück, der die Ausprägung des angegebenen Formatierungstyps (z. B. Schriftart, Schriftfarbe, Textausrichtung) angibt.

Definition

anyvalue :getformat
(
  { integer Start := 1  input,
    integer End   := -1 input, }
    enum    Type  input
)

Parameter

integer Start := 1 input
integer End := -1 input

Mit diesen optionalen Parametern wird der Bereich definiert, dessen Formatierung ermittelt werden soll. Fehlen diese Angaben, wird der Bereich von .startsel bis .endsel (Selektion bzw. Cursorposition) genommen.

Der Wertebereich von Start und End geht von 0 bis zur Anzahl der Zeichen im angezeigten Text, wobei jedes Zeichen zählt, das in eine Selektion eingeschlossen werden kann. Zeilenumbruch-Zeichen zählen daher mit.

Für End kann -1 angegeben werden, um die Formatierung des restlichen Textes ab der Startposition zu erhalten.

Start und End beziehen sich – analog zu .startsel und .endsel – auf Positionen im formatierten Text. Aus ihnen kann nicht auf Positionen im Content-String des RTF-Edittextes geschlossen werden, da dieser zusätzlich Formatierungsanweisungen enthält. Sind die Parameter Start oder End größer als die Textlänge, dann wird beim RTF-Edittext die Textlänge verwendet.

Wenn beim Aufruf keine Zeichen markiert sind (.startsel = .endsel) oder Start = End ist, dann wird das Format links von der angegebenen Position geliefert.

enum Type input

Dieser Parameter gibt den Typ der Formatierung an, deren Wert abgefragt werden soll. Die enum-Werte für die Formatierungstypen sind in der nachfolgenden Tabelle aufgelistet.

Rückgabewert

anyvalue

Ein Wert für die Ausprägung des angegebenen Formatierungstyps.

Wenn der Bereich, für den die Formatierung erfragt werden soll, mehrere Formatierungen des angegebenen Formatierungstyps enthält, wird nothing zurückgegeben.

Formatierungsarten, enum-Werte und Datentypen der Formatierungstypen

Formatierungstyp

Formatierungsart

enum -Wert

Datentyp

Schriftart, Font

Zeichenformat

text_font

string

Schriftgröße

Zeichenformat

text_size

integer

Vordergrundfarbe, Textfarbe

Zeichenformat

text_fgc

integer

Hintergrundfarbe

Zeichenformat

text_bgc

integer

fett

Zeichenformat

text_bold

boolean

kursiv

Zeichenformat

text_italic

boolean

unterstrichen

Zeichenformat

text_underline

boolean

Einrückung links

Absatzformat

text_indent_left

integer

Einrückung rechts

Absatzformat

text_indent_right

integer

Einrückung der Folgezeilen in einem Absatz

Absatzformat

text_indent_offset

integer

Textausrichtung

Absatzformat

text_align

enum

[align_left, align_right, align_center, align_justify]

Maßeinheit für Größen und Positionen

Größen und Positionen werden – wie bei der Windows-Programmierung üblich – in twips angegeben. Ein twip entspricht 1/20 point (Punkt), das ist 1/1440 Zoll (inch) bzw. 1/567 cm.

Erläuterungen zu einzelnen Formatierungen

Zuverlässigkeit der Rückgabewerte

:getformat() kann nur zuverlässig funktionieren, wenn der RTF-Edittext sichtbar (.visible = true) ist, da das zugrundeliegende Windows-Objekt einige Berechnungen für die Formatierung nur im sichtbaren Zustand ausführt. Beispielsweise kann die Fontinformation im unsichtbaren Zustand nicht abgefragt werden.

Objekte mit dieser Methode

edittext mit .options[opt_rtf] = true