Вывести диалог свойств принтера

{codecitation class=»brush: pascal; gutter: false;» width=»600px»}

Оформил: DeeCo

Автор: http://www.swissdelphicenter.ch

{

If you need to create your own printer dialog, you can use the PrinterProperties

API function to bring up a printer’s properties dialog.

}

uses

WinSpool, Printers;

procedure TForm1.Button1Click(Sender: TObject);

const

{

The TPrinterDefaults structure specifies the default data type,

environment, initialization data, and access rights for a printer.

}

Defaults: TPrinterDefaults = (pDatatype: nil;

pDevMode: nil;

DesiredAccess: STANDARD_RIGHTS_REQUIRED or PRINTER_ACCESS_USE);

var

hPrinter: THandle;

Device: array[0..255] of char;

Driver: array[0..255] of char;

Port: array[0..255] of char;

hDeviceMode: THandle;

RetVal: Boolean;

begin

Printer.PrinterIndex := Combobox1.ItemIndex;

{ Retrieve information about the specified printer }

Printer.GetPrinter(Device,

Driver,

Port,

hDeviceMode);

{ Retrieve a handle identifying the specified printer or print }

if not OpenPrinter(@Device, hPrinter, @Defaults) then

RaiseLastWin32Error;

try

{ Display a printer-properties property sheet for the specified printer }

PrinterProperties(Handle, hPrinter);

finally

{ Close the specified printer object }

ClosePrinter(hPrinter);

end;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

{ Show available printers in a Combobox }

Combobox1.Items := Printer.Printers;

Combobox1.ItemIndex := 0;

end;

{/codecitation}

Добавить комментарий