Einzelnen Beitrag anzeigen

Mario

Registriert seit: 7. Apr 2003
567 Beiträge
 
Delphi 2006 Enterprise
 
#7

Re: Eigener Eigenschaftsdialog für Drucker

  Alt 15. Sep 2003, 08:07
Die Deklaration war bei mir nicht notwendig. So lief es dann:
Delphi-Quellcode:
uses
... Printers, WinSpool;

...

procedure TForm1.Button1Click(Sender: TObject);
var
  aDevMode: TDeviceMode;
  hPrinter: THandle;
  Device : array[0..255] of char;
  Driver : array[0..255] of char;
  Port : array[0..255] of char;
  hDeviceMode: THandle;
  pDevmodeOut: PDeviceMode;
  bytesNeeded: DWORD;
begin
  Printer.GetPrinter(Device, Driver, Port, hDeviceMode);
  if WinSpool.OpenPrinter(@Device, hPrinter, nil) then
  try
    bytesNeeded := DocumentProperties(
      handle, hPrinter, Device, aDevMode, aDevMode, 0 );
    pDevmodeOut := AllocMem( bytesNeeded );
    If IDOK = DocumentProperties(
                Handle, hPrinter, Device, aDevMode, aDevMode,
                DM_OUT_BUFFER or DM_IN_PROMPT )
    Then
    ; // do something intelligent here
    FreeMem( pDevModeOut );
  finally
    WinSpool.ClosePrinter( hPrinter );
  end;
end;
Schöne Grüße,
Mario Noack
  Mit Zitat antworten Zitat