Olá Pessoal, aqui estamos para mais uma quick tips. Para não perder o costume vamos aqui falar um pouco sobre Delphi. Nesta Tips vamos aprender a simular um Print Screen, isso mesmo. Vamos aprender a capturar a tela em que estamos trabalhando com o Delphi.

Para isso crie uma nova aplicação no Delphi. Adicione um panel, um button e um Timage. Abaixo segue uma sugestão de tela:

Feito isso, vamos criar uma função que será responsável por realizar a captura. Sendo assim declare a seguinte função na seção implementation do nosso form. Veja:


function CapturaTela: TBitmap;
var
  dc:hdc;
  cv:TCanvas;
begin
  result := TBitmap.Create;
  result.Width := Screen.Width;
  result.Height := Screen.Height;
  dc := GetDc(0);
  cv := TCanvas.Create;
  cv.Handle := DC;
  result.Canvas.CopyRect(Rect(
    0, 0, Screen.Width, Screen.Height),
    cv, Rect(0,0,Screen.Width, Screen.Height));
  cv.Free;
  ReleaseDC(0, DC);

A função utiliza a classe TCanvas para poder extrair a imagem da tela. Usamos o método CopyRect para copiar a imagem da tela para a propriedade Canvas da classe TBitMap, que é o nosso retorno.

Por fim vamos a implementação do clique do botão. Veja abaixo:


procedure TForm1.BitBtn1Click(Sender: TObject)
begin
  Image1.Picture.Assign(CapturaTela);
  Image1.Picture.SaveToFile('tela.bmp');
end;

Agora basta rodar a aplicação:

O clicar no botão:

Então é isso. Grande abraço e até a próxima !!!