Obrazek jako tło formy [Delphi]

Witam, mam taki problem. Chcę wstawić obrazek jako tło formy, tylko nie wiem jak. Szukałem w Googlach i nic nie znalazłem. Proszę o szybką pomoc. :frowning:

P.S: Jestem początkujący, proszę o dokładne wytłumaczenie.

Jest na to kilka metod:

przechwycić zdarzenie WM_ERASEBACKGROUND - najlepsze

wstawić w zdarzeniu TForm.OnPaint

ściągnąć komponent który to robi, w google znajdziesz setki.

ee, a mógłbyś dokładniej wytłumaczyć jak o się robi, krok po kroku.

Pod linkiem wszystko opisane.

I jeszcze nie jestem tak dobry z angielskiego żeby coś z tego zrozumieć. Czy jest ktoś na tym forum kto może mi dokładnie i po polsku wytłumaczyć jak to się robi?!

Proponuję zrobić to w następujący sposób:

Umieść na formularzu kontrolkę Image, po czym kliknij na niej dwukrotnie i wczytaj jakiś obrazek

Następnie w okienku ObjectInspector zmień właściwości dla Image1

  • AutoSize na True

  • Visible na False

Teraz w okienku ObjecInspector wybierz Form1 i w zakładce Events kliknij dwukrotnie po prawej stronie zdarzenia OnPaint (Delphi utworzy wtedy szablon obsługi dla tego zdarzenia). Procedurę FormPaint uzupełnij w następujący sposób:

procedure TForm1.FormPaint(Sender: TObject);

var x, y, dx, dy: Integer;

    R: TRect;

begin

  x:= 0; y:= 0;

  dx:= Image1.Width;

  dy:= Image1.Height;

  R:= Rect(0, 0, dx, dy);

  while y < Height do

   begin

     x:= 0;

     while x < Width do

      begin

        Canvas.CopyRect(Rect(x, y, x + dx, y + dy), Image1.Canvas, R);

        x:= x + dx;

      end;

     y:= y + dy;

   end;

end;

Procedura rysuje podany obrazek w postaci kafelków wypełniając nim cały obszar formularza (oczywiście można wczytać obrazek wielkości formularza, wtedy obrazek będzie wypełniał całe tło) Można również wczytać inny obrazek w czasie wykonywania programu:

Image1.Picture.LoadFromFile('C:\Obrazek.bmp');

Repaint;