Das Steuer-Element TextEdit implementiert einen RichText-Editor, wobei der Begriff RichText in diesem Kontext nichts mit dem bekannten RichText-Format zu tun hat.
So erzeugen Sie einen neuen TextEdit-Editor:
Dim hTextEdit As TextEdit hTextEdit = New TextEdit ( Parent As Container ) [ As "EventName" ]
Gambas-RichText ist eine Zeichenkette und basiert auf einem speziellen MarkUp, welches eine Untermenge von HTML zur Textauszeichnung verwendet.
Die folgenden HTML-Tags sind für Gambas-RichText erlaubt, um Textelemente auszuzeichnen:
<h1>, <h2>, <h3>, <h4>, <h5>, <h6> → Überschriften <b> → Fettschrift, <i> → kursiv, <s> → durchgestrichen, <u> → unterstrichen <sub> → tiefgestellt, <sup> → hochgestellt, <small> → klein, <p> → Absatz <br> → Zeilenumbruch, <a> → Link, <font> → Schrift-Font
Informationen zum <font>-Tag werden in der folgenden Tabelle angegeben. Bitte beachten Sie, dass der Tag <font> unter HTML5 nicht mehr existiert!
Font-Attribut | Werte | Hinweise |
---|---|---|
face | Schriftfamilie | Verschiedene Schriften können in einer komma-getrennten Liste angegeben werden |
color | Farbwerte über Farbnamen oder als hexadezimale Zahl oder im RGB-Format | color = Red, color = #C3DDFF → hellblau, color = RGB(255,175,255,95) → orange |
size | Schriftgröße (Default = 3) | Absolute Werte von 1 bis 7 oder die zwei relativen Werte -1 für kleinere Schrift oder +1 für größere Schrift |
Tabelle 16.15.1.1: Informationen zum <font>-Tag
Erprobt sind auch diese Tags, um ein- oder mehrzeiligen Quelltext auszuzeichnen oder um eine horizontale Linie einzufügen oder eine unsortierte Liste mit n Einträgen anzuzeigen:
<tt> → einzeiliger Quelltext, <pre> → mehrzeiliger Quelltext, <hr> → horizontale Linie <ul> → unsortierte Liste, <li> → Listeneintrag
Hinweise:
Die Klasse TextEdit verfügt über diese Eigenschaften:
Eigenschaft | Datentyp | Beschreibung |
---|---|---|
Border | Boolean | Gibt an, ob das Steuerelement einen Rahmen hat oder setzt ihn. |
Format | .TextEdit.Format | Die virtuelle Klasse .TextEdit.Format wird zur Formatierung des aktuell markierten Textes (oder des aktuellen Absatzes, wenn kein Text markiert ist) verwendet. Ein Absatz wird durch <p>TEXT</p> gekennzeichnet. |
Index | Integer | Liefert oder setzt die Position des aktuellen Zeichens innerhalb des aktuellen Absatzes. |
Paragraph | Integer | Gibt den Index des aktuellen Absatzes zurück oder setzt ihn, wobei der erste Absatz den Index 0 hat. |
Pos | Integer | Liefert oder setzt die Cursor-Position bezogen auf den Anfang des Textes. Wenn ein Text in UTF-8 gespeichert ist, müssen Sie die Klasse String verwenden, um diese Position in den Byte-Index des Strings umzuwandeln. |
ReadOnly | Boolean | Gibt an oder setzt, ob der Benutzer den Text ändern kann. |
RichText | String | Gibt den RichText des Editors zurück oder setzt ihn. |
ScrollBar | Integer | Gibt zurück oder legt fest, welche Bildlaufleisten angezeigt werden. Eine Liste der Konstanten, finden Sie in der Scroll-Klasse. |
ScrollX | Integer | Liest oder setzt die linke Position des Editors-Bildlaufbereichs. |
ScrollY | Integer | Liest oder setzt die obere Position des Editors-Bildlaufbereichs. |
Selected | Boolean | Gibt zurück, ob ein Text-Abschnitt markiert ist. |
Selection | .TextEdit.Selection | Gibt ein virtuelles Objekt zurück, das zur Verwaltung des markierten Textes verwendet wird. |
Text | String | Liefert oder setzt den reinen Textinhalt des Editors. |
TextHeight | Integer | Gibt die Höhe des im RichText-Editor angezeigten RichTextes zurück. |
TextWidth | Integer | Gibt die Breite des im Steuerelement angezeigten RichTextes zurück. |
Wrap | Boolean | Gibt zurück oder setzt, ob der Text an der Breite des Editors umgebrochen wird. |
Tabelle 16.15.2.1: Eigenschaften der Klasse TextEdit
Eigenschaft | Datentyp | Beschreibung |
---|---|---|
Alignment | Integer | Legt die Ausrichtung des aktuellen Absatzes oder des aktuell markierten Textes fest oder gibt sie zurück. |
Background | Integer | Liest oder setzt die Hintergrundfarbe des aktuell markierten Textes. |
Color | Integer | Liest oder setzt die Vordergrundfarbe des aktuell selektierten Textes. |
Font | Font | Liest oder setzt die Schriftart des aktuell markierten Textes. |
Tabelle 16.15.2.1.1: Eigenschaften der Klasse TextEdit.Format
Die Festlegung der Eigenschaft 'TextEdit.Foreground' hat keine Auswirkung auf den Text im RichText-Editor.
Sie müssen entweder die HTML-Syntax verwenden, um Textfarben `inline` festzulegen oder die Textfarbe über die Eigenschaft TextEdit.Format.Color der virtuellen Klasse TextEdit.Format festlegen:
TextEdit1.RichText = "<font color=red>This is some red text</font> and the text is default text color"
Mit Inline-CSS lässt sich das gleiche Ergebnis erzielen:
TextEdit1.RichText = "<span style=\"color: red;\">This is some red text</span> and the text is the default text color."
Alternative ohne HTML-Syntax:
TextEdit1.Format.Color = Color.Red TextEdit1.Insert("This is some red text") TextEdit1.Format.Color = Color.Default TextEdit1.Insert(" and the text is default text color")
Eigenschaft | Datentyp | Beschreibung |
---|---|---|
Length | Integer | Gibt die Länge des ausgewählten Textes als Anzahl der Zeichen zurück. |
RichText | String | Gibt den aktuellen markierten Text als RichText zurück oder ersetzt den aktuellen markierten Text durch den angegebenen RichText. |
Start | Integer | Gibt die Anfangsposition des aktuell markierten Textes zurück. |
Text | Text | Gibt den aktuellen markierten Text als reinen Text zurück oder ersetzt den aktuellen markierten Text durch den angegebenen reinen Text. |
Tabelle 16.15.2.2.1: Eigenschaften der Klasse TextEdit.Selection
Die Methode TextEdit.Selection.Hide( ) hebt eine Markierung des aktuell ausgewählten Textes auf.
Die Klasse TextEdit verfügt über diese Methoden:
Methode | Rückgabewert | Beschreibung |
---|---|---|
Clear ( ) | - | Löscht den (kompletten) Text im Editor. |
Copy ( ) | - | Kopiert den markierten Text in die Zwischenablage. |
Cut ( ) | - | Schneidet den markierten Text aus und fügt ihn in die Zwischenablage ein. |
EnsureVisible ( ) | - | Hiermit stellen Sie sicher, dass der Cursor sichtbar ist. Falls erforderlich, wird hierfür ein automatischer Scrollvorgang ausgelöst. |
Insert ( Text As String ) | - | Fügt den im Parameter angegebenen Text an der aktuellen Cursorposition ein. |
InsertRichText ( RichText As String ) | - | Fügt den angegebenen RichText an der aktuellen Cursorposition ein. |
Paste ( ) | - | Fügt den Inhalt der Zwischenablage an der aktuellen Cursorposition ein. |
Redo ( ) | - | Die zuletzt rückgängig gemachte (Text-)Aktion wiederholen. |
Undo ( ) | - | Macht die letzte (Text-)Aktion rückgängig. |
Select ( [ Start As Integer, Length As Integer ] ) | - | Definiert den ausgewählten Text. Start ist die Position des ersten ausgewählten Zeichens im Text. Length ist die Länge der Auswahl. Wenn kein Argument angegeben wird, wird der gesamte Text ausgewählt. |
SelectAll ( ) | - | Den kompletten Text markieren. |
ToIndex ( Pos As Integer ) | Integer | Konvertiert eine Position in einen Zeichen-Index innerhalb eines Absatzes. |
ToParagraph ( Pos As Integer ) | Integer | Konvertiert eine Position in eine Absatz-Nummer (Index). |
ToPos ( Paragraph As Integer, Index As Integer ) | Integer | Konvertiert eine Absatznummer und einen Zeichenindex innerhalb des Absatzes in eine Integer-Position. |
Tabelle 16.15.3.1: Methoden der Klasse TextEdit
Die Klasse TextEdit verfügt über diese beiden relevanten Ereignisse:
Ereignis | Beschreibung |
---|---|
Change ( ) | Das Ereignis wird ausgelöst, wenn sich der Text im Editor geändert hat. |
Cursor ( ) | Das Ereignis ausgelöst, wenn sich die Cursor-Position geändert hat. |
Tabelle 16.15.4.1: Ereignisse der Klasse TextEdit
Als Beispiel für einen TextEdit-Editor wird auf das Projekt aus den Gambas-Quellen verwiesen. Sie finden das Projektarchiv aber auch im Download-Bereich.
Abbildung 16.15.5.1: GUI: TextEdit-Editor