Richtext in Formularen und Berichten - Teil 1

Anlegen einer Ereignisprozedur

Wählen Sie dort im linken Kombinationsfenster im Kopf des Codefensters den Eintrag ctlRTF2 und im rechten Fenster den Eintrag Change aus (Bild 4). Der VBA-Editor legt daraufhin die passende Ereignisprozedur an.

Bild 4: Anlegen einer Ereignisprozedur für ein ActiveXSteuerelement.
Bild 4: Anlegen einer Ereignisprozedur für ein ActiveXSteuerelement.

Das Ziel der Aktion war ja das Anzeigen des RTF-Quellcodes. Mit einem an das Feld RTF gebundenen Textfeld funktioniert das allerdings nicht: Um jederzeit den aktuellen Quellcode im Textfeld anzuzeigen, müsste die Datenherkunft des Formulars nach der Eingabe jedes einzelnen Zeichens aktualisiert werden. Das funktioniert nur durch das Speichern des Datensatzes undanschließendes Aktualisieren der Datenherkunft, allerdings wird dadurch auch immer wieder die Einfügemarke an den Beginn des Steuerelements ctlRTF2 verlegt. Also gehen Sie einen alternativen Weg: Heben Sie die Bindung des Textfeldes zur Anzeige des Inhalts des Feldes RTF auf (durch Leeren der Eigenschaft Steuerelementinhalt), benennen Sie es, um Missverständnisse zu vermeiden, in txtRTF2 um, und ergänzen Sie die Ereignisprozedur ctlRTF2_Change wie in Listing 2.

Listing 2: Aktualisierung des Textfeldes txtRTF2 zur
Anzeige des RTF-Quellcodes
Private Sub ctlRTF2_Change()
Me!txtRTF2 = Me!ctlRTF2.RTFtext
End Sub

Bild 5: Das RTF2-Steuerelement erlaubt das Formatieren per Kontextmenü...
Bild 5: Das RTF2-Steuerelement erlaubt das Formatieren per Kontextmenü...
Bild 6: … oder per Systemdialog.
Bild 6: … oder per Systemdialog.

Anschließend können Sie beliebig formatierten Text in das RTF2-Steuerelement eingeben und sehen jeweils die Änderungen am Quellcode des RTF-Dokuments. Änderungen am Format nehmen Sie übrigens entweder über die bereits recht umfangreichen Möglichkeiten des Kontextmenüs vor (Bild 4) oder verwenden den passenden Windows-Dialog zum Einstellen der Schriftformatierung (Bild 5).