![]() |
Druckerbreite einstellen
Hallo,
ich habe einen Brother 9200DX (Labeldrucker für Schriftbänder) und möchte von Delphi aus den Druckerdialog aufrufen. Unter Windows habe ich Default-Druckereigenschaften gesetzt, diese werden aber von Delphi mit dem Standard DIN A4-Format überschrieben, was andere Programme wie CorelDraw nicht machen. Mit folgendem Code möchte ich meine Werte für Breite und Höhe wieder setzen:
Delphi-Quellcode:
Für die Breite Funktioniert dies, allerdings funktioniert das Setzen von dmPaperWidth nicht.
var
Device : array[0..255] of char; Driver : array[0..255] of char; Port : array[0..255] of char; hDMode : THandle; pDMode : PDEVMODE; begin ... Printer.GetPrinter(Device, Driver, Port, hDMode); if hDMode <> 0 then begin pDMode := GlobalLock(hDMode); if pDMode <> nil then begin pDMode^.dmFields := pDMode^.dmFields or DM_PAPERSIZE or DM_PAPERWIDTH or DM_PAPERLENGTH; pDMode^.dmPaperSize := DMPAPER_USER; pDMode^.dmPaperWidth := 240; // 24mm {SomeValueInTenthsOfAMillimeter}; pDMode^.dmPaperLength := 650; // 65mm {SomeValueInTenthsOfAMillimeter}; GlobalUnlock(hDMode); end; end; ... end; Statt der gewünschten 24mm steht im Drucker-Eigenschaftsdialog immer 36mm und ich weiß nicht wie die dahin kommen und wie ich sie ändern kann. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz