Benutzer-Werkzeuge

Webseiten-Werkzeuge


k16:k16.15:start

16.15 TextEdit (gb.qt4.ext)

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" ]

16.15.1 Syntax von RichText in Gambas

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-AttributWerteHinweise
faceSchriftfamilieVerschiedene Schriften können in einer komma-getrennten Liste angegeben werden
colorFarbwerte über Farbnamen oder als hexadezimale Zahl oder im RGB-Formatcolor = Red, color = #C3DDFF → hellblau, color = RGB(255,175,255,95) → orange
sizeSchriftgröß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:

  • Das Arbeiten mit CSS wird sowohl in interner als auch externer Form unterstützt, allerdings sollte man nicht erwarten, dass alle Gestaltungsmöglichkeiten die ein Browser bietet, auch mit dem TextEdit-Steuerelement umsetzbar sind.
  • Auch wenn Gambas-RichText vorwiegend die o.a. HTML-Tags als Basis-MarkUp nutzt, können Sie jede HTML-Entität verwenden.
  • Mit <a>…</a> können Sie einen Link in den Text einfügen. Er wird unterstrichen und in der Farbe blau formatiert ausgegeben – so, wie es für einen Hyperlink erwartet wird – er bleibt jedoch ohne Wirkung! Nach einem Klick mit der rechten Maustaste auf den Link können Sie sich aber im Kontextmenü die Link-Adresse kopieren.

16.15.2 Eigenschaften

Die Klasse TextEdit verfügt über diese Eigenschaften:

EigenschaftDatentypBeschreibung
BorderBooleanGibt an, ob das Steuerelement einen Rahmen hat oder setzt ihn.
Format.TextEdit.FormatDie 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.
IndexIntegerLiefert oder setzt die Position des aktuellen Zeichens innerhalb des aktuellen Absatzes.
Paragraph IntegerGibt den Index des aktuellen Absatzes zurück oder setzt ihn, wobei der erste Absatz den Index 0 hat.
PosIntegerLiefert 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.
ReadOnlyBooleanGibt an oder setzt, ob der Benutzer den Text ändern kann.
RichTextStringGibt den RichText des Editors zurück oder setzt ihn.
ScrollBarIntegerGibt zurück oder legt fest, welche Bildlaufleisten angezeigt werden. Eine Liste der Konstanten, finden Sie in der Scroll-Klasse.
ScrollXIntegerLiest oder setzt die linke Position des Editors-Bildlaufbereichs.
ScrollYIntegerLiest oder setzt die obere Position des Editors-Bildlaufbereichs.
SelectedBooleanGibt zurück, ob ein Text-Abschnitt markiert ist.
Selection .TextEdit.SelectionGibt ein virtuelles Objekt zurück, das zur Verwaltung des markierten Textes verwendet wird.
TextStringLiefert oder setzt den reinen Textinhalt des Editors.
TextHeightIntegerGibt die Höhe des im RichText-Editor angezeigten RichTextes zurück.
TextWidthIntegerGibt die Breite des im Steuerelement angezeigten RichTextes zurück.
WrapBooleanGibt zurück oder setzt, ob der Text an der Breite des Editors umgebrochen wird.

Tabelle 16.15.2.1: Eigenschaften der Klasse TextEdit

16.15.2.1 Eigenschaften der virtuellen Klasse TextEdit.Format

EigenschaftDatentypBeschreibung
Alignment IntegerLegt die Ausrichtung des aktuellen Absatzes oder des aktuell markierten Textes fest oder gibt sie zurück.
BackgroundIntegerLiest oder setzt die Hintergrundfarbe des aktuell markierten Textes.
ColorIntegerLiest oder setzt die Vordergrundfarbe des aktuell selektierten Textes.
Font FontLiest 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")

16.15.2.2 Eigenschaften der virtuellen Klasse TextEdit.Selection

EigenschaftDatentypBeschreibung
LengthIntegerGibt die Länge des ausgewählten Textes als Anzahl der Zeichen zurück.
RichTextStringGibt den aktuellen markierten Text als RichText zurück oder ersetzt den aktuellen markierten Text durch den angegebenen RichText.
StartIntegerGibt die Anfangsposition des aktuell markierten Textes zurück.
TextTextGibt 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.

16.15.3 Methoden

Die Klasse TextEdit verfügt über diese Methoden:

MethodeRückgabewertBeschreibung
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 ) IntegerKonvertiert eine Position in einen Zeichen-Index innerhalb eines Absatzes.
ToParagraph ( Pos As Integer ) IntegerKonvertiert eine Position in eine Absatz-Nummer (Index).
ToPos ( Paragraph As Integer, Index As Integer ) IntegerKonvertiert eine Absatznummer und einen Zeichenindex innerhalb des Absatzes in eine Integer-Position.

Tabelle 16.15.3.1: Methoden der Klasse TextEdit

16.15.4 Ereignisse

Die Klasse TextEdit verfügt über diese beiden relevanten Ereignisse:

EreignisBeschreibung
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

16.15.5 Projekt

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.

GUI

Abbildung 16.15.5.1: GUI: TextEdit-Editor

Download

Die Website verwendet zwei temporäre Session-Cookies. Diese technisch notwendigen Cookies werden gelöscht, wenn der Web-Browser geschlossen wird! Informationen zu Cookies erhalten Sie in der Datenschutzerklärung.
k16/k16.15/start.txt · Zuletzt geändert: 29.12.2024 von honsek

Seiten-Werkzeuge