Impressao - impressora padrao |
Top Previous Next |
|
procedure Form1.SetImpressoraPadrao; var Res : DWORD; Device : array[0..255] of char; Driver : array[0..255] of char; Port : array[0..255] of char; WindowsStr : array[0..255] of char; hDeviceMode : THandle; begin // Pega dados da impressora atual Printer.GetPrinter(Device, Driver, Port, hDeviceMode); // Monta string exigida pela API do Windows StrCat( Device, ','); StrCat( Device, Driver ); StrCat( Device, ','); StrCat( Device, Port ); StrPCopy(WindowsStr, 'windows'); // Torna a impressora a atual; WriteProfileString(WindowsStr, 'device', Device); SendMessageTimeout(HWND_BROADCAST, WM_WININICHANGE, 0, DWORD(@WindowsStr), SMTO_NORMAL, 1000, Res); end;
procedure Form1.Button1; begin // Pega lista de impressoras ListBox1.Items := Printer.Printers;
// Seta a segunda como padrao Printer.PrinterIndex := 1; SetImpressoraPadrao end;
// Com o PrintDialog: ================================================================= // Funcao Select_default -> Seleciona impressora Default // Select_impress -> Seleciona impressora do componente de impressora do Delphi. // Ex:
If PrintDialog1.Execute then // componente printdialog begin Select_Impress; if rCalibracao=nil then Application.CreateForm(TrCalibracao, rCallibracao); rCalibracao.Print; Select_Default; end; |