VB -36: CommonDialog

OCX-Module nutzen

Evtl. will unser Anwender aus dem Programm heraus den Drucker auswählen und verschiedene Einstellungen vornehmen. Wir können ihm auf einfache Art diese Möglichkeit bieten, indem wir auf den bereits vordefinierten Standard-Dialog verwenden.

Die Standard-Dialoge zur Einstellung von Drucker, Farben, Schriftart oder Datei (Öffnen und Speichern) sind alle in dem OCX-Modul COMDLG32.OCX versteckt. Um es zu nutzen, müssen wir es als "Komponente" dem Projekt hinzufügen. In der Toolbar links taucht dann ein Symbol auf, das wir auf unsere Hauptform ziehen und ihm den Namen CMDialog1 geben:

Wir fügen unserem Menü "Programm" außerdem noch einen Punkt "Drucker einstellen" hinzu, nennen ihn "mnuDruckSetup" und schreiben in das Click-Ereignis:

 Private Sub mnuDruckSetup_Click()
    CMDialog1.ShowPrinter
    Printer.EndDoc
 End Sub
 

Beispielprojekt laden

Durch die ShowPrinter-Methode wird der Standarddruckerdialog angezeigt.

Danach muß ein Printer.EndDoc stehen, damit die Einstellung übernommen wird.

Wie der Dialog genau aussieht, hängt vom Drucker und dessen Möglichkeiten ab. Der User kann hier verschiedene Einstellungen vornehmen, z.B. den Drucker auswählen oder über den Eigenschaften-Button die Seitenorientierung oder den Druckmodus ändern.

Theoretisch jedenfalls . Bei meinen Versuchen zeigte sich, daß hier manche Einstellungen ignoriert bzw. vom System nicht übernommen werden. Ein Bug im OCX-Modul? Vielleicht hat einer der Mitleser eine Lösung...?

Man kann über diesen Dialog auch verschiedene Eigenschaften abfragen, indem man den Wert von CMDialog.Flags abfragt und auswertet. Ich spare mir das hier und überlasse es Eurer Experimentierfreude, hier selber weiter zu forschen.

Die weiteren Methoden des CommonDialog-Moduls sind: ShowColor Farbauswahl ShowFont Schriftart auswählen ShowHelp Anzeige einer Hilfedatei ShowOpen Datei öffnen ShowSave Datei speichern unter

*Wichtig* bei der Verwendung von OCX-Modulen: Sie müssen mitgeliefert und auf dem Rechner des Anwenders registriert werden! Man kann dazu entweder ein Installationsprogramm nutzen oder hilfsweise auch direkt über regsvr32.exe modulname.ocx .

Ich verzichte hier auf die Weitergabe, da ich davon ausgehe, daß dieses Modul auf Eurem Rechner bereits vorhanden ist. Falls es bei Euch ein Problem mit der Version gibt (ich verwende VB6), wenn Ihr das Projekt laden wollt, bitte fügt das Modul selber ein.

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.