Selecionar impressora

Delphi

01/02/2004

Como faço para selecionar a impressora antes de imprimir?
Mostrando o PrintDialog1 ou PrinterSetupDialog1
para que eu podesse selecionar uma das impressoares instaladas
no sistema.

Estou utilizando o canvas

Printer.>>> usar a impressora que eu esolhesse
Printer.Canvas.Font:=FontDialog.Font;
BeginDoc;
Title:=´Boleto Bancário´;

Canvas.TextOut(120),120,´Teste de impressora´);

//
[]´Guialberto


Guialberto

Guialberto

Curtidas 0

Respostas

Edison_br

Edison_br

01/02/2004

GetMem(Device, 255);
GetMem(Driver, 255);
GetMem(Port, 255);
Print := TPrinter.Create;
//isso em Win2000
Impressora := ´Epson LX-300´;
//Isso em Win9X
Impressora := ´Epson LX-300 on LPT1´;
Print.PrinterIndex := Printer.Printers.IndexOf(Impressora);
Print.GetPrinter(Device, Driver, Port, DeviceMode);
//Configura o tamanho do papel
M := GlobalLock(DeviceMode);
if M <> nil then begin
M^.dmPaperSize := 256;
M^.dmFields := M^.dmFields or DM_PAPERLength;
M^.dmPaperLength := Altura;
M^.dmFields := M^.dmFields or DM_PAPERWidth;
M^.dmPaperWidth := Largura;
end;
Print.SetPrinter(Device, Driver, Port, DeviceMode);
Print.Title := ´Teste de Impressão´;
Print.BeginDoc;


GOSTEI 0
Guialberto

Guialberto

01/02/2004

Ok! o problema é que eu não sei a impressora que estará
instalada no sistema.

Esse é o motivo que me fez optar por usar
PrintDialog1 ou PrinterSetupDialog1, pois dependendo
da impressora que estivesse instalada, eu poderia selecioná-la.

[]´Guialberto


GOSTEI 0
Edison_br

Edison_br

01/02/2004

vc ja fez este teste
PrinterSetupDialog1.Execute;
printer.BeginDoc;
printer.EndDoc;
se vc dar OK no PrinterSetupDialog1 ele ja seleciona a impressora.


GOSTEI 0
Guialberto

Guialberto

01/02/2004

Ok amigo, deu certo ....
Valeu mesmo!!!

[]´Guialberto


GOSTEI 0
POSTAR