Verwenden des CommonDialog-Steuerelements
Das CommonDialog-Steuerelement stellt eine Reihe von Standarddialogfeldern für Vorgänge wie das Öffnen und Speichern von Dateien, das Festlegen von Druckoptionen und das Auswählen von Farben und Schriftarten bereit. Das Steuerelement kann auch Hilfe anzeigen, wenn die Windows-Hilfe-Engine ausgeführt wird.
Das CommonDialog-Steuerelement stellt eine Schnittstelle zwischen Visual Basic und der Microsoft Windows Dynamic Link Library Commdlg.dll-Routine bereit. Um ein Dialogfeld mit diesem Steuerelement zu erstellen, muss sich Commdlg.dll im Verzeichnis MicrosoftWindows/System befinden.
Um das CommonDialog-Steuerelement in Ihrer Anwendung verwenden zu können, sollten Sie es dem Formular hinzufügen und seine Eigenschaften festlegen. Der vom Steuerelement angezeigte Dialog wird durch die Methoden des Steuerelements bestimmt. Während der Laufzeit wird das Dialogfeld oder die Hilfe-Engine nach Aufruf der entsprechenden Methode angezeigt. Während des Entwurfs wird das CommonDialog-Steuerelement als Symbol auf dem Formular angezeigt. Die Größe dieses Symbols kann nicht geändert werden.
Das CommonDialog-Steuerelement kann die folgenden allgemeinen Dialogfelder anzeigen:
"Offen"
„Speichern unter“
"Farbe"
"Schriftart"
"Drucken"
Zur Verwendung des CommonDialog-Steuerelements
1. Wenn das CommonDialog-Steuerelement nicht hinzugefügt wird, sollten Sie „Komponenten“ aus dem „Projekt“-Menü auswählen und das Steuerelement zur Toolbox hinzufügen. Suchen Sie das Steuerelement in den „Steuerelementen“ des Markierungsdialogs, wählen Sie es aus und klicken Sie dann auf die Schaltfläche „OK“.
2. Klicken Sie in der Toolbox auf das Steuerelement „CommonDialog“ und zeichnen Sie das Steuerelement auf das Formular. Wenn Sie ein CommonDialog-Steuerelement in ein Formular zeichnen, wird die Größe des Steuerelements automatisch angepasst. Wie das Timer-Steuerelement ist das CommonDialog-Steuerelement zur Laufzeit nicht sichtbar.
3. Bitte verwenden Sie beim Ausführen die in der folgenden Tabelle aufgeführten Methoden entsprechend, um den erforderlichen Dialog anzuzeigen.
Zeigen Sie die Dialogfelder „Öffnen“ und „Speichern unter“ an
Im Dialogfeld „Öffnen“ können Sie das Laufwerk, das Verzeichnis, die Dateierweiterung und den Dateinamen angeben. Das Dialogfeld „Speichern unter“ sieht genauso aus wie das Dialogfeld „Öffnen“, mit der Ausnahme, dass der Titel und der Dateiname des Dialogfelds abgeblendet sind. Nachdem Sie eine Datei ausgewählt und das Dialogfeld zur Laufzeit geschlossen haben, können Sie die FileName-Eigenschaft verwenden, um den ausgewählten Dateinamen abzurufen.
Um das Dialogfeld „Öffnen“ anzuzeigen
1. Geben Sie die Liste der Dateifilter an, die im Listenfeld Dateitypen angezeigt werden.
Die Filtereigenschaft kann im folgenden Format festgelegt werden:
Beschreibung1|Filter1|Beschreibung2|Filter2...
Beschreibung ist die im Listenfeld angezeigte Zeichenfolge, zum Beispiel TextFiles(*.txt). Filter ist ein tatsächlicher Dateifilter – zum Beispiel *.txt. Jede Beschreibung|Filtereinstellung muss durch ein Pipe-Symbol (|) getrennt werden.
2. Verwenden Sie die ShowOpen-Methode, um das Dialogfeld anzuzeigen.
Nachdem Sie eine Datei ausgewählt haben, können Sie die FileName-Eigenschaft verwenden, um den Namen der ausgewählten Datei abzurufen.
Bei allen öffentlichen Dialogfeldern wird ein Fehler generiert, wenn die Eigenschaft „CancelError“ den Wert „True“ hat und der Benutzer auf die Schaltfläche „Abbrechen“ des Dialogfelds klickt. Beim Anzeigen des Dialogfelds wird ein Fehler abgefangen, um zu erkennen, ob die Schaltfläche „Abbrechen“ gedrückt wurde.
Der folgende Code zeigt das Dialogfeld „Öffnen“ an und öffnet die Parameter der Dateiprozedur mit dem ausgewählten Dateinamen:
PRivateSubmnuFileOpen_Click()
„CancelError ist wahr.“
OnErrorGoToErrHandler
'Filter setzen.
CommonDialog1.Filter=AllFiles(*.*)|*.*|Text_
Dateien(*.txt)|*.txt|BatchFiles(*.bat)|*.bat
'Geben Sie den Standardfilter an.
CommonDialog1.FilterIndex=2
'Zeigen Sie das Dialogfeld „Öffnen“ an.
CommonDialog1.ShowOpen
'Rufen Sie die Prozedur auf, um die Datei zu öffnen.
OpenFile(CommonDialog1.FileName)
ExitSub
ErrHandler:
„Der Benutzer drückt die Schaltfläche „Abbrechen“.
ExitSub
EndSub
Verwenden des Dialogfelds „Farbe“.
Verwenden Sie das Dialogfeld „Farbe“, um eine Farbe aus einer Farbpalette auszuwählen oder eine benutzerdefinierte Farbe zu erstellen und auszuwählen. Zur Laufzeit kann die Color-Eigenschaft verwendet werden, um die ausgewählte Farbe zu erhalten, nachdem die Farbe ausgewählt und das Dialogfeld geschlossen wurde.
Zum Anzeigen des Dialogfelds „Farbe“.
1. Setzen Sie die Flags-Eigenschaft des CommonDialog-Steuerelements auf die VisualBasic-Konstante cdlCCRGBInit.
2. Verwenden Sie die ShowColor-Methode, um das Dialogfeld anzuzeigen.
Sie können die Color-Eigenschaft verwenden, um den RGB-Wert der ausgewählten Farbe abzurufen. Der folgende Code zeigt das Dialogfeld „Farbe“ an, wenn Sie auf die Befehlsschaltfläche „Befehl1“ klicken:
PrivateSubCommand1_Click()
'Setzen Sie Abbrechen auf True.
CommonDialog1.CancelError=True
OnErrorGoToErrHandler
'Legen Sie die Flags-Eigenschaft fest.
CommonDialog1.Flags=cdlCCRGBInit
'Zeigen Sie das Dialogfeld „Farbe“ an.
CommonDialog1.ShowColor
'Setzt die Hintergrundfarbe des Formulars auf die ausgewählte' Farbe.
Form1.BackColor=CommonDialog1.Color
ExitSub
ErrHandler:
„Der Benutzer hat die Schaltfläche „Abbrechen“ gedrückt.
ExitSub
EndSub
Verwenden des Dialogfelds „Schriftart“.
Das Dialogfeld „Schriftart“ wählt Schriftarten basierend auf Größe, Farbe und Stil aus. Sobald der Benutzer im Dialogfeld „Schriftart“ eine Schriftart auswählt, enthalten die folgenden Eigenschaften Informationen zu den Optionen des Benutzers.
Zum Anzeigen des Dialogfelds „Schriftart“.
1. Legen Sie die Flags-Eigenschaft auf eine der folgenden Visual Basic-Konstanten fest:
cdlCFScreenFonts (Bildschirmschriftarten)
cdlCFPrinterFonts (Druckerschriftarten)
cdlCFBoth (kann entweder eine Bildschirmschriftart oder eine Druckerschriftart sein)
Warnung: Sie müssen die Flags-Eigenschaft auf einen dieser Werte setzen, bevor Sie das Dialogfeld „Schriftart“ anzeigen. Andernfalls tritt der Fehler „Schriftart nicht vorhanden“ auf.
2. Verwenden Sie die ShowFont-Methode, um das Dialogfeld anzuzeigen.
Der folgende Code legt die Schriftarteigenschaften eines Textfelds basierend auf der Auswahl des Benutzers im Dialogfeld „Schriftart“ fest:
PrivateSubCommand1_Click()
'Setzen Sie Abbrechen auf True.
CommonDialog1.CancelError=True
OnErrorGoToErrHandler
'Legen Sie die Flags-Eigenschaft fest.
CommonDialog1.Flags=cdlCFBothOrcdlCFEffects
'Zeigen Sie das Dialogfeld „Schriftart“ an.
CommonDialog1.ShowFont
'Legen Sie Texteigenschaften basierend auf der Benutzerauswahl fest.
Text1.Font.Name=CommonDialog1.FontName
Text1.Font.Size=CommonDialog1.FontSize
Text1.Font.Bold=CommonDialog1.FontBold
Text1.Font.Italic=CommonDialog1.FontItalic
Text1.Font.Underline=CommonDialog1.FontUnderline
Text1.FontStrikethru=CommonDialog1.FontStrikethru
Text1.ForeColor=CommonDialog1.Color
ExitSub
ErrHandler:
„Der Benutzer hat die Schaltfläche „Abbrechen“ gedrückt.
ExitSub
EndSub
->