FormResize nie powiększa obszaru TImage

0

Witam.
Odkąd zrobiłem podgląd wydruku w moim programie, nie działa on poprawnie. Wszelkie próby nie przynosiły efektu, więc zwracam się tutaj o pomoc.
Przygotowałem testową formę z jedynym elementem TImage. Przedstawiam mój kod i jego efekty:

procedure TForm2.FormResize(Sender: TObject);
var x,y:word;
    B:TBitmap;
begin
   B:=TBitmap.Create;
   B.LoadFromFile('c:\test.bmp');
   x:=Form2.Width-10;
   y:=Form2.Height-50;
   Image1.Top:=5;
   Image1.Left:=5;
   Image1.Width:=x;
   Image1.Height:=y;
   Image1.Canvas.StretchDraw(Rect(0,0,x,y),B);
   B.Free;
end;

screenshot-20190704175049.png

Jeśli we właściwości TImage.Stretch przypiszę true, to obrazek powiększa się, lecz "lupa" nadal pozostaje:
screenshot-20190704175552.png

Jeżeli użyję Image1.Canvas.Draw(0,0,B) i TImage1.Stretch:=true, efekt jest taki sam jak na pierwszym obrazku.
Gdzie mam błąd? Jak powinienem to wykonać, aby obrazek był powiększany na całe okno, a nie robiła się "lupa"?
Proszę o pomoc.

3

Ustaw Anchors lub Align dla TImage, tak aby podczas zmiany rozmiaru rodzica (formularza), ten odpowiednio dostosowywał swój rozmiar. Poza tym zamiast malować obraz na TImage, weź go przypisz do właściwości Picture, tak aby kontrolka sama zajmowała się jego malowaniem. I ustaw jej Streched na True.

1 użytkowników online, w tym zalogowanych: 0, gości: 1