Guest Raul Brandão Postado Junho 12, 2004 Denunciar Share Postado Junho 12, 2004 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 clicadopasse 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 procedureend;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; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Junho 14, 2004 Denunciar Share Postado Junho 14, 2004 Não é só chamar assim:PrintForm(TForm(TButton(Sender).Owner)); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Diabloline Postado Junho 20, 2004 Denunciar Share Postado Junho 20, 2004 Não é só chamar assim:PrintForm(TForm(TButton(Sender).Owner)); Não funcionou de uma olhada no codigo abaixo e me ajudeunit Menu;interfaceuses 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 calculoend;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 procedurebeginPrintForm(TForm(TButton(Sender).Owner));end;procedure TfrmMenu.LimparClick(Sender: TObject);begin//codigo pra limparend;end. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Diabloline Postado Junho 21, 2004 Denunciar Share Postado Junho 21, 2004 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 valeuRaul Brandão Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Diabloline Postado Junho 21, 2004 Denunciar Share Postado Junho 21, 2004 Valeu Galera mas consegui resolver a situação, s3c a dica foi importante valeu resolvi essa pendencia valeu pela intenção de todos. Por isso que gosto de programar a 10 minutos pedi ajuda e acabei resolvendo sozinho valeuuuuuuuuuuuuuuuuuuutópico resolvido Citar Link para o comentário Compartilhar em outros sites More sharing options...
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
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.