Wenn es uns nur um die Auswahl des Druckers geht, können wir dies auch ganz gut ohne den Standarddialog realisieren. VB gestattet es uns, auf die sogenannte "Printers-Collection" zu zugreifen, hier sind alle installierten Drucker aufgeführt.
Wir ändern unser Projekt ab, indem wir den Menüpunkt in "Drucker auswählen" (mnuDruckerWahl) und einen Untermenüpunkt "Drucker0" (mnuDrucker) mit dem Index 0 einfügen. Da wir zunächst nicht wissen, wieviele und welche Drucker auf dem PC des Anwenders installiert sind, können wir das endgültige Aussehen des Menüs erst zur Laufzeit bestimmen.
Wir fügen dazu in unser Form_Load-Ereignis die folgenden Zeilen hinzu:
For i = 0 To Printers.Count - 1 'alle verfügbaren Drucker If i > 0 Then Load mnuDrucker(i) 'neue Drucker ins Menü laden mnuDrucker(i).Caption = Printers(i).DeviceName Next
Auch ein Menü ist nichts anderes als ein Control und kann - genau wie unsere Kugeln - zur Laufzeit geladen werden. Printers.Count gibt uns die Zahl der verfügbaren Drucker zurück. Printers(i).DeviceName gibt uns den Namen des jeweiligen Druckers, den wir in unser Menü schreiben.
Jetzt müssen wir nur noch auf das Click-Ereignis bei der Druckerauswahl reagieren:
Private Sub mnuDrucker_Click(Index As Integer) Set Printer = Printers(Index) 'ausgewählten Drucker aktivieren End Sub
Schon können wir uns die OCX sparen.
© Copyright 1998-2000 J.Behling
Weitergabe und Druck (auch in Teilen, mit Ausnahme von Privatgebrauch) ohne ausdrückliche Genehmigung der Autorin untersagt.