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