2.42 :setformat()

Mit der Methode :setformat() können Textbereiche in einem RTF-Edittext formatiert werden.

Definition

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

Parameter

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

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

Welcher Bereich tatsächlich formatiert wird, hängt von der Art der Formatierung ab:

  • Zeichenformatierungen wirken sich genau auf den angegebenen Bereich aus.
  • Absatzformatierungen wirken sich auf alle Absätze aus, die ganz oder teilweise im angegebenen Bereich enthalten sind.

Die Formatierungsart ist in der nachfolgenden Tabelle mit angegeben.

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 den restlichen Text ab der Startposition zu formatieren.

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.

enum Type input

Dieser Parameter definiert den Typ der Formatierung, die angewendet werden soll. Die enum-Werte für die Formatierungstyen sind in der nachfolgenden Tabelle aufgelistet.

anyvalue Value input

In diesem Parameter wird ein Wert übergeben, der die Ausprägung des in Type definierten Formatierungstyps festlegt. Die Datentypen für die Formatierungstypen sind in der nachfolgenden Tabelle mit angegeben.

Rückgabewert

true
Der Textbereich wurde formatiert.
false
Fehler: Die Formatierung konnte nicht angewendet werden (z.B. wegen fehlerhafter Argumente).

Formatierungsarten, enum-Werte und Datentypen der Formatierungstypen

Formatierungstyp

Formatierungsart

enum -Wert

Datentyp

Schriftart, Font

Zeichenformat

text_font

string , font

Schriftgröße

Zeichenformat

text_size

integer

Vordergrundfarbe, Textfarbe

Zeichenformat

text_fgc

integer , color

Hintergrundfarbe

Zeichenformat

text_bgc

integer , color

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]

Je nach Schriftart kann es vorkommen, dass Formatierungsanweisungen bzw. mit :setformat() gesetzte Formatierungsattribute vom Windows-Objekt, das der IDM für den RTF-Edittext verwendet, nicht beachtet werden. Unter Windows 7 ist dies zum Beispiel bei text_bold so, wenn explizit keine Schriftart gesetzt und daher implizit die Schriftart System verwendet wird.

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

Objekte mit dieser Methode

edittext mit .options[opt_rtf] = true