GARANTIR DESCONTO

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?
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

Facc

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

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar