Ir para conteúdo
Fórum Script Brasil
  • 0

Imprimindo Forms Em Janelas Filhas


Guest Raul Brandão

Pergunta

Guest Raul Brandão

Tenho a seguinte situação de codigo gostaria de uma ajuda para executar a procedure PrintForm(frm: TForm); desejo que o meu botão ao ser clicado

passe o nome da janela e execute a procedure.

procedure TfrmMenu.ImprimirClick(Sender: TObject);

begin

//passar nome da janela como parâmetro: PrintForm(Form1).

//para executar o metodo abaixo

//desejo que o meu botão ao ser clicado

//passe o nome da janela e execute a procedure

end;

procedure PrintForm(frm: TForm);

var

bmp: TBitMap;

x, y, WDPI, HDPI: Integer;

OldColor: TColor;

begin

Screen.Cursor := crHourGlass;

OldColor := frmMenu.Color;

frmMenu.Color := clWhite;

frmMenu.Update;

bmp := frmMenu.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;

frmMenu.Color := OldColor;

Screen.Cursor := crDefault;

end;

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Não é só chamar assim:

PrintForm(TForm(TButton(Sender).Owner));

Não funcionou de uma olhada no codigo abaixo e me ajude

unit Menu;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons;

type

TfrmMenu = class(TForm)

Label14: TLabel;

Label15: TLabel;

Label31: TLabel;

Label32: TLabel;

Label16: TLabel;

Label6: TLabel;

Label13: TLabel;

Label17: TLabel;

Label18: TLabel;

Label33: TLabel;

Limpar: TBitBtn;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Calcular: TBitBtn;

Imprimir: TBitBtn;

Edit0: TEdit;

procedure CalcularClick(Sender: TObject);

procedure ImprimirClick(Sender: TObject);

procedure LimparClick(Sender: TObject);

//como declarar aquela procedure aqui

private

{ Private declarations }

public

{ Public declarations }

end;

var

frmMenu: TfrmMenu;

implementation

{$R *.dfm}

procedure TfrmMenu.CalcularClick(Sender: TObject);

begin

//codigo do calculo

end;

procedure TfrmMenu.ImprimirClick(Sender: TObject);

//passar nome da janela como parâmetro: PrintForm(Form1).

//para executar o metodo abaixo

//desejo que o meu botão ao ser clicado

//passe o nome da janela e execute a procedure

begin

PrintForm(TForm(TButton(Sender).Owner));

end;

procedure TfrmMenu.LimparClick(Sender: TObject);

begin

//codigo pra limpar

end;

end.

Link para o comentário
Compartilhar em outros sites

  • 0

Poxa Coporsemalma só falta você da uma dica de uma olhada e me ajuda sei que você pode você é ferá o Arlon não conseguiu me ajudar o S3C deu uma dica e tá tentando e você ve ai vei o que pode fazer.

O codigo tá ai testa e tenta achar os erros valeu t++

agradeço a galera do site valeu

Raul Brandão

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...