Common Dialog (Standarddialog-Steuerelement)

Das Standarddialog-Steuerelement (CommonDialog) stellt eine Reihe von Standarddialogfeldern für Vorgänge wie beispielsweise das Öffnen und Speichern von Dateien, das Einstellen von Druckoptionen und das Auswählen von Farben und Schriftarten zur Verfügung. Mit diesem Steuerelement kann auch die Hilfe angezeigt werden, indem das Hilfemodul von Windows ausgeführt wird.

      Abbildung:   Das Standarddialog-Steuerelement

Das Standarddialog-Steuerelement stellt eine Schnittstelle zwischen Visual Basic und den Routinen in der Microsoft Windows-DLL (Dynamic-Link Library) Commdlg.dll bereit. Zum Erstellen eines Dialogfelds, das dieses Steuerelement verwendet, muss sich Commdlg.dll im Verzeichnis \System von Microsoft Windows befinden.

Mit dem Standarddialog-Steuerelement können Sie die folgenden, häufig verwendeten Dialogfelder anzeigen:

Öffnen Speichern unter

Farbe

Schrift Drucken

So verwenden Sie das Standarddialog-Steuerelement

1     Sofern das Steuerelement nicht bereits hinzugefügt wurde, nehmen Sie das Standarddialog-Steuerelement in die Werkzeugsammlung auf, indem Sie im Menü Projekt auf Komponenten klicken. Wählen Sie das Steuerelement auf der Registerkarte Steuerelemente, und klicken Sie auf OK.

2     Klicken Sie in der Werkzeugsammlung auf das Standarddialog-Steuerelement (CommonDialog), und zeichnen Sie es in einem Formular.

Wenn Sie ein Standarddialog-Steuerelement in einem Formular zeichnen, passt es automatisch seine Größe an. Genau wie das Zeitgeber-Steuerelement (Timer) ist das Standarddialog-Steuerelement zur Laufzeit nicht sichtbar.

3     Zur Laufzeit verwenden Sie die entsprechende Methode (wie in der folgenden Tabelle aufgeführt), um das gewünschte Dialogfeld anzuzeigen.

Methode

Angezeigtes Dialogfeld

ShowOpen

Öffnen

ShowSave

Speichern

ShowColor

Farbe

ShowFont

Schrift

ShowPrinter

Drucken

ShowHelp

Ruft Windows-Hilfe auf

Anzeigen der Dialogfelder "Öffnen" und "Speichern unter"

Das Dialogfeld Öffnen ermöglicht dem Benutzer das Angeben eines Laufwerks, eines Verzeichnisses, einer Dateinamenerweiterung und eines Dateinamens.

Abbildung:   Dialogfeld "Öffnen"

Das Dialogfeld Speichern unter sieht aus wie das Dialogfeld Öffnen, mit dem Unterschied, dass es eine andere Beschriftung hat und die Dateinamen abgeblendet sind. Wenn der Benutzer zur Laufzeit eine Datei auswählt und das Dialogfeld schließt, wird die FileName-Eigenschaft verwendet, um den gewünschten Dateinamen zu erhalten.

So zeigen Sie das Dialogfeld "Öffnen" an

1     Legen Sie die Liste der Dateifilter fest, die im Listenfeld Dateityp angezeigt werden.

Legen Sie dazu die Filter-Eigenschaft unter Verwendung des folgenden Formats fest:

Beschreibung1 | Filter1 | Beschreibung2 | Filter2...

Beschreibung ist die Zeichenfolge, die in dem Listenfeld angezeigt wird - beispielsweise "Textdateien (*.txt)." Filter ist der Dateifilter - beispielsweise "*.txt." Jede Kombination aus Beschreibung | Filter muss durch ein Pipe-Symbol | getrennt werden.

2     Verwenden Sie die ShowOpen-Methode, um das Dialogfeld anzuzeigen.

Nachdem der Benutzer eine Datei ausgewählt hat, verwenden Sie die FileName-Eigenschaft, um den Namen der ausgewählten Datei zu erhalten.

Bei allen Standarddialogfeldern wird, wenn die CancelError-Eigenschaft auf True gesetzt ist, ein Fehler generiert, wenn der Benutzer auf die Schaltfläche Abbrechen des Dialogfelds klickt. Sie finden heraus, ob die Schaltfläche Abbrechen gedrückt wurde, indem Sie den Fehler auffangen, wenn das Dialogfeld angezeigt wird.

Beim folgenden Code wird das Dialogfeld Öffnen angezeigt und der ausgewählte Dateiname als Argument für eine Prozedur verwendet, die eine Datei öffnet:

Private Sub mnuFileOpen_Click ()

   On Error GoTo ErrHandler                     ' CancelError ist auf True gesetzt.

   CommonDialog1.Filter = "Alle Dateien (*.*)|*.*| " & _     ' Filter setzen.

   "Textdateien (*.txt)|*.txt|Stapelverarbeitungddateien " & "(*.bat)|*.bat"

   CommonDialog1.FilterIndex = 2                ' Standardfilter angeben.

   CommonDialog1.ShowOpen                       ' Dialogfeld Öffnen anzeigen.

   OpenFile (CommonDialog1.FileName)            ' Prozedur zum Öffnen der Datei aufrufen.

   Exit Sub

ErrHandler:                                    ' Marke für Fehlerprozedur

   Exit Sub                                     ' Benutzer hat auf Abbrechen geklickt.

End Sub

Verwenden des Dialogfelds "Drucken"

Über das Dialogfeld Drucken kann der Benutzer Einstellungen für das Drucken festlegen. So kann beispielsweise der Bereich der zu druckenden Seiten, die Druckqualität, eine Anzahl der Kopien usw. festgelegt werden. Das Dialogfeld zeigt auch Informationen über den derzeit installierten Drucker an und ermöglicht dem Benutzer die Konfiguration oder Neuinstallation eines Standarddruckers.

Anmerkung   Dieses Dialogfeld sendet keine Daten an einen Drucker. In dem Dialogfeld können Benutzer festlegen, wie Daten gedruckt werden sollen. Der Code zum Drucken der Daten im gewünschten Format muss von Ihnen geschrieben werden.

Wenn der Benutzer zur Laufzeit eine Auswahl im Dialogfeld Drucken trifft, können die folgenden Eigenschaften Informationen über die Auswahl des Benutzers enthalten.

Eigenschaft

Legt folgendes fest

Copies

Die Anzahl der Kopien, die gedruckt werden sollen.

FromPage

Die erste Seite, die gedruckt werden soll.

ToPage

Die letzte Seite, die gedruckt werden soll.

hDC

Den Gerätekontext für den ausgewählten Drucker.

Abbildung:   Das Dialogfeld "Drucken"

So zeigen Sie das Dialogfeld "Drucken" an

1     Legen Sie die gewünschten Standardeinstellungen für das Dialogfeld fest, indem Sie die entsprechenden Eigenschaften für das Dialogfeld Drucken einstellen.

Wenn beispielsweise die Zahl "2" im Feld Kopien des Dialogfelds angezeigt werden soll, setzen Sie die Copies-Eigenschaft auf 2:

CommonDialog1.Copies = 2

2     Verwenden Sie die ShowPrinter-Methode zum Anzeigen des Dialogfelds Drucken.

Der folgende Code zeigt das Dialogfeld Drucken an, wenn der Benutzer auf die Befehlsschaltfläche Command1 klickt:

Private Sub Command1_Click ()

   Dim BeginPage, EndPage, NumCopies, i

   CommonDialog1.CancelError = True  ' "Cancel" auf "True" setzen.

   On Error GoTo ErrHandler

   CommonDialog1.ShowPrinter         ' Dialogfeld "Drucken" anzeigen.

   BeginPage  = CommonDialog1.FromPage  ' Benutzerdefinierte Werte aus dem Dialogfeld abrufen.

   EndPage = CommonDialog1.ToPage

   NumCopies  = CommonDialog1.Copies

   For i = 1 to NumCopies

   ' Code hier zum Senden von Daten an den Drucker einfügen.

   Next

   Exit Sub

ErrHandler:

   ' Benutzer hat auf Abbrechen-Schaltfläche geklickt.

   Exit Sub

End Sub

Anmerkung   Falls die PrinterDefault-Eigenschaft auf True gesetzt ist, kann die Druckausgabe an das Printer-Objekt erfolgen. Außerdem werden, wenn die PrinterDefault-Eigenschaft auf True gesetzt ist, alle Änderungen, die der Benutzer im Einstellungsbereich des Dialogfelds Drucken vornimmt, zum Ändern der Druckereinstellungen in der Druckereinrichtung des Benutzers verwendet.