lazarus/examples/canvas_test/screenshotunit.pas
paul 149d3a219a examples: correct canvas_test example:
- fix screenshot example bug (use GetDC(0) instead of DC = 0)
  - fix image example - clear LazIntfImage before experiments (part of issue #0019123)
  - remove all .lrs, .rc files and use .lfm, .res instead

git-svn-id: trunk@30244 -
2011-04-08 09:15:38 +00:00

52 lines
805 B
ObjectPascal

unit screenshotunit;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
ExtCtrls, Buttons, LCLType, LCLIntf;
type
{ TfrmScreenshot }
TfrmScreenshot = class(TForm)
btnScreenshot: TBitBtn;
imgScreenshot: TImage;
procedure btnScreenshotClick(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
frmScreenshot: TfrmScreenshot;
implementation
{$R *.lfm}
{ TfrmScreenshot }
procedure TfrmScreenshot.btnScreenshotClick(Sender: TObject);
var
bmp: TBitmap;
DC: HDC;
begin
bmp := TBitmap.Create;
DC := GetDC(0);
try
bmp.LoadFromDevice(DC);
finally
ReleaseDC(0, DC);
end;
imgScreenshot.Picture.Bitmap.Assign(bmp);
FreeAndNil(bmp);
end;
end.