⤷ Get image on the button

Use GetDC function (this function returns handle of a display device context) and Handle method of Bitmap.Canvas for assigning result of GetDC function with it.

procedure TForm1.Button1Click(Sender: TObject);
var
  Bitmap, Bitmap2: TBitmap;
  ButHandle: THandle;
  Rec: TRect;
begin
  Bitmap:=TBitmap.Create;
  Bitmap2:=TBitmap.Create;
  Bitmap2.LoadFromFile('factory.bmp');
  Rec:=Rect(2, 2, Button1.Width-2, Button1.Height-2);
  ButHandle:=GetDC(Button1.Handle);
  Bitmap.Canvas.Handle:=ButHandle;
  Bitmap.Canvas.StretchDraw(Rec, Bitmap2);
end;
More for developers