VB6 Drucher-Konfiguration

Hallo an Alle,
ich bin neu in diesem Forum und habe wenig Erfahrung mit LL.

Ich versuche im 1. Schritt vergebens die Druckerkonfiguration inkl. Papierformat aus der Printer-Datei mit VB6 zu lesen. Hat einer von euch evtl. ein kleines Beispiel?

Im 2. Schritt lade ich mir die im System installierten Drucker mit den verfügbaren Papierformaten, und möchte eine neue Druckerkonfiguration in einen anderen Ordner speichern. dies gelingt schon teilweise. Der Drucker wird schon richtig gespeichert, jedoch das Papierformat anscheinend nicht.

Beispiel:

[code]’======================================================
Public Sub ChangeDevMode(ByRef xdev As DEVMODEA)
'======================================================
xdev.dmPaperSize = <z.B. 9 für A4>

xdev.dmCopies = 1
xdev.dmFields = xdev.dmFields Or DM_PAPERSIZE Or DM_PRINTQUALITY Or DM_PAPERLENGTH Or DM_PAPERWIDTH Or DM_COPIES Or DM_FORMNAME
Dim myhDC&
myhDC = CreateDC(0, xdev.dmDeviceName, 0, xdev)

End Sub[/code]
MfG Torsten

Hallo Torsten,

vielen Dank für Ihren Beitrag.

Gerne möchten ich Ihnen einen alternativen Lösungsvorschlag unterbreiten:

Erstellen Sie zwei unterschiedliche Druckerdefinitionsdateien und verschieben Sie eine der beiden, je nach Einsatzzweck, vor der Ausführung des Drucks in das Verzeichnis der Druckvorlage.

Eine elegantere Lösung wäre die, in den Druckerdefinitionsdatei enthaltene, DEVMODE-Struktur auszulesen (LlGetPrinterFromPrinterFile) und die jeweilige Information anschließend, je nach Bedarf und Einsatzzweck, über die API LlSetPrinterInPrinterFile zu setzen.

Weitere Informationen zu diesen beiden APIs erhalten Sie in der mitgelieferten Programmierer-Referenz (LL21, Seite 207ff. & Seite 300ff.).

Mit freundlichen Grüßen

Patrick Preuschoff
Technischer Support
combit GmbH