farbdoc - Mo 22.07.02 13:14
Titel: seitengröße für druckauftrag ändern
hi.
ich versuche die Seitengröße für einen druckauftrag zu ändern zwecks auf etiketten drucken (etikettendrucker vom typ brady BP).
ich hab auch schon einen beispielcode gefunden, aber auf den reagiert mein drucker nicht:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42:
| 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.PrinterIndex := Printer.PrinterIndex; Printer.GetPrinter(Device, Driver, Port, hDMode); if hDMode <> 0 then begin pDMode := GlobalLock(hDMode); if pDMode <> nil then begin
{Set to legal} pDMode^.dmFields := pDMode^.dmFields or dm_PaperSize; pDMode^.dmPaperSize := DMPAPER_LEGAL;
{Set to custom size} pDMode^.dmFields := pDMode^.dmFields or DM_PAPERSIZE or DM_PAPERWIDTH or DM_PAPERLENGTH; pDMode^.dmPaperSize := DMPAPER_USER; pDMode^.dmPaperWidth := 100 {SomeValueInTenthsOfAMillimeter}; pDMode^.dmPaperLength := 100 {SomeValueInTenthsOfAMillimeter};
{Set the bin to use} pDMode^.dmFields := pDMode^.dmFields or DMBIN_MANUAL; pDMode^.dmDefaultSource := DMBIN_MANUAL;
GlobalUnlock(hDMode); end; end; Printer.PrinterIndex := Printer.PrinterIndex; Printer.BeginDoc; Printer.Canvas.TextOut(100,100, 'Test 1'); Printer.EndDoc; end; |
ich benutz win2000. kann mir jemand ne' hilfestelluing geben?
der drucker benutz scheinbar trotz obigem code die seitengröße, die
er standardmäßig benutzt.
schon mal danke im voraus!
der farbdoc...
farbdoc - Do 25.07.02 11:52
hi.
das mit pageHeight und pageWidth habe ich versucht, und bin daran gescheitert weil diese Properties readOnly sind.
Was das mit
Quelltext
1:
| Printer.PrinterIndex := Printer.PrinterIndex; |
soll weiß ich auch nicht. Diese Zeilen habe ich in meinem code
auch auskommentiert.
danke trotzdem...