Rubrik: Controls · TextBox & RichTextBox | VB-Versionen: VB4, VB5, VB6 | 03.02.02 |
RTF-Text ausdrucken Ausdruck eines RTF-Textes unter Berücksichtigung eines linken und rechten Randes. | ||
Autor: Dieter Otter | Bewertung: | Views: 29.206 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Das nachfolgende Beispiel zeigt, wie sich der Inhalt eines RTF-Eingabefeldes ausdrucken lässt - und zwar unter Berücksichigung eines frei festlegbaren linken und/oder rechten Druckrandes.
Der Ausdruck selbst erfolgt über die SelPrint-Methode des RTF-Controls. Als Parameter muss hier lediglich der Geräte-Kontext des Ausgabemediums angegeben werden, also z.B. Printer.hDC. Wichtig ist, dass man zunächst eine leere Zeile druckt - sonst könnte es Probleme geben bzw. zu einem Programmabsturz kommen.
Soll der Text selbst links und/oder rechts zusätzlich eingerückt werden, so bedienen wir uns der SelIndent bzw. SelIndentRight-Eigenschaften, mit denen man die Einrücktiefe festlegen kann. Nach dem Ausdruck setzen wir den linken und rechten Rand dann wieder zurück.
Und hier der vollständige Code zum Ausdrucken von RTF-Text
' Wichtig! Printer.Print With RichTextBox1 ' 2cm Randeinzug von links .SelStart = 0 .SelLength = Len(.Text) .SelIndent = Printer.ScaleX(20, vbMillimeters, _ Printer.ScaleMode) ' 1.5cm rechts .SelRightIndent = Printer.ScaleX(15, vbMillimeters, _ Printer.ScaleMode) ' Jetzt drucken .SelPrint Printer.hDC, False ' Ränder zurücksetzen .SelIndent = 0 .SelRightIndent = 0 End With ' Ausdruck beenden Printer.EndDoc