VB -35: Schriftarten einstellen

Schön soll's auch noch sein...

Machen wir uns dran, den Ausdruck unserer Aufgaben noch etwas zu verbessern. Wir ändern dazu die Schriftart und einige Schriftattribute:

    Private Sub mnuDrucken_Click()
        mnuDrucken.Checked = Not mnuDrucken.Checked
        If mnuDrucken.Checked Then
            Printer.Font.Name = "Comic Sans MS"  'Schriftart auswählen
            Printer.Font.Bold = True             'fett einschalten
            Printer.Font.Underline = True        'Unterstreichen einschalten
            Printer.Font.Size = 20               'setzt die Schriftgröße auf 20
            Printer.Print vbTab & "Mathe-Max" & vbCrLf
            Printer.Font.Underline = False       'Unterstreichen ausschalten
            Printer.Font.Size = 16               'setzt Schriftgröße auf 16
            Printer.Font.Italic = True           'kursiv einschalten
            Printer.Font.Bold = False            'fett ausschalten
            Printer.Print vbTab & "Richtig gelöste Rechenaufgaben:" & vbCrLf
            Printer.Font.Size = 20               'setzt Schriftgröße auf 20
            Printer.Font.Italic = False          'kursiv ausschalten
           Else
            Printer.EndDoc
        End If
    End Sub
 

Hinweis: Damit dieses Beispiel funktioniert, muß auf Eurem Rechner natürlich die Schriftart "Comic Sans MS" installiert sein, sonst kommt unweigerlich eine Fehlermeldung. Ihr könnt das Beispiel natürlich auch mit jeder anderen Schriftart ausprobieren.

Wie man sieht, ist eine ganze Reihe von Befehlen nötig, nur um ein paar Zeilen zu verschönern. Das läßt sich kaum anders machen, aber etwas übersichtlicher geht es doch. Anstatt in jeder Zeile erneut das Printer-Font-Objekt aufzuführen, reicht es, wenn wir das Objekt je einmal erwähnen und dann nur noch die Eigenschaften angeben, die geändert werden sollen. Wir nutzen dazu die "With"-Konstruktion:

        With Printer.Font
            .Name = "Comic Sans MS"  'Schriftart auswählen
            .Bold = True             'fett einschalten
            .Underline = True        'Unterstreichen einschalten
            .Size = 20               'setzt die Schriftgröße auf 20
        End With
        Printer.Print vbTab & "Mathe-Max" & vbCrLf

        With Printer.Font
            .Underline = False       'Unterstreichen ausschalten
            .Size = 16               'setzt Schriftgröße auf 16
            .Italic = True           'kursiv einschalten
            .Bold = False            'fett ausschalten
        End With
        Printer.Print vbTab & "Richtig gelöste Rechenaufgaben:" & vbCrLf

        With Printer.Font
            .Size = 20               'setzt Schriftgröße auf 20
            .Italic = False          'kursiv ausschalten
        End With
 

Das sieht jetzt etwas strukturierter aus, hat aber genau die gleiche Wirkung. Das Objekt, das hinter "With" aufgeführt ist, wird in den nachfolgenden Zeilen bei der Ausführung automatisch eingesetzt, bis ein "End With" auftaucht.

Innerhalb einer With-Konstruktion dürfen jedoch auch andere Befehle stehen. Solange die Zeile nicht mit einem Punkt beginnt, erwartet der Compiler hier keine Eigenschaft des Objekts, sondern führt sie normal aus. Wir können uns also einige Zeilen sparen:

        With Printer.Font
            .Name = "Comic Sans MS"  'Schriftart auswählen
            .Bold = True             'fett einschalten
            .Underline = True        'Unterstreichen einschalten
            .Size = 20               'setzt die Schriftgröße auf 20
            Printer.Print vbTab & "Mathe-Max" & vbCrLf
            .Underline = False       'Unterstreichen ausschalten
            .Size = 16               'setzt Schriftgröße auf 16
            .Italic = True           'kursiv einschalten
            .Bold = False            'fett ausschalten
            Printer.Print vbTab & "Richtig gelöste Rechenaufgaben:" & vbCrLf
            .Size = 20               'setzt Schriftgröße auf 20
            .Italic = False          'kursiv ausschalten
        End With
        

Auch dies führt zum gleichen Ergebnis. Es bleibt uns überlassen, was wir übersichtlicher finden.

Beispielprojekt laden

Natürlich läßt sich unser Ausdruck noch weiter verschönern, aber dies soll hier zur Demonstration erstmal genügen.

zurück Index weiter


© Copyright 1998-2000 J.Behling EMail schreiben ABC-Ware's Homepage
Weitergabe und Druck (auch in Teilen, mit Ausnahme von Privatgebrauch) ohne ausdrückliche Genehmigung der Autorin untersagt.