Articles

You should create a new type with Canvas property and use this new type for the type cast.

type TNewGroupBox = class(TGroupBox)
public
  property Canvas;
end;
...
procedure TForm1.Button1Click(Sender: TObject);
var
  MyBitmap: TBitmap;
begin
  MyBitmap:=TBitmap.Create;
  MyBitmap.LoadFromFile('factory.bmp');
  with TNewGroupBox(GroupBox1).Canvas do
    StretchDraw(
      Rect(0,0,MyBitmap.Width,MyBitmap.Height),
      MyBitmap);
end;