terça-feira, março 20, 2007

Salvando o seu formulário como imagem

Dia desses, um colega de uma lista de discussão precisava gerar um JPEG a partir de um formulário de seu sistema, algo como um "Print Screen" para usuários menos íntimos com a coisa. Postei lá a solução e, como achei a solicitação interessante, decidi postá-la aqui também. Vamos a solução:

Imaginemos o exemplo clássico, um formulário "Form1" e um botão "Button1", o evento OnClick do botão ficaria como abaixo:

procedure TForm1.Button1Click(Sender: TObject);
var JPEG: TJPEGImage;
begin

JPEG := TJPEGImage.Create;
JPEG.Assign(form1.GetFormImage);
JPEG.SaveToFile('caminho\meuform.jpg');

end;

Fácil né? :) Vocês podem dar um rebuscada na solução usando um TSaveDialog para que o usuário possa escolher o local e o nome do arquivo a ser salvo.

Até a próxima.
Ah! Não esqueçam de declarar o unit JPEG na cláusula Uses.

Nenhum comentário: