Fórum Impressão da tela (Form) #337605
08/02/2007
0
Boa noite pessoal! blz?
Tenho essa função na qual ela imprime o TForm direto pra impressora, porém só em alguns computadores funcionam, alguem saberia o pq?
Todos eram Win XP.
Tenho essa função na qual ela imprime o TForm direto pra impressora, porém só em alguns computadores funcionam, alguem saberia o pq?
PrintForm
uses
Windows, SysUtils, Printers, Forms, Graphics, Controls, Classes;
.
.
.
procedure PrintForm(frm: TForm);
var
bmp: TBitMap;
x, y, WDPI, HDPI: Integer;
OldColor: TColor;
begin
Screen.Cursor := crHourGlass;
OldColor := frm.Color;
frm.Color := clWhite;
frm.Update;
bmp := frm.GetFormImage;
with Printer do
begin
Orientation := poLandscape;
BeginDoc;
HDPI := PageHeight div 8;
WDPI := PageWidth div 8;
x := PageWidth - Round(WDPI * 0.4); {0.4" margem direita}
y := PageHeight - Round(HDPI * 0.5); {0.5" Altura do rodapé}
Canvas.StretchDraw(Rect(0, 0, x, y), bmp);
EndDoc;
end;
bmp.Free;
frm.Color := OldColor;
Screen.Cursor := crDefault;
end;Todos eram Win XP.
Facc
Curtir tópico
+ 0
Responder
Posts
09/02/2007
Facc
Alguém?
Responder
Gostei + 0
09/02/2007
Facc
Pra akeles que precisarem
procedure TForm1.Button1Click(Sender: TObject); var OldColor : TColor; // para armazenar a cor original do form begin OldColor := Form1.Color; Form1.Color := clWhite; //muda pra branco, assim economiza tinta form1.print; Form1.Color := OldColor; //volta cor original end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)