Если использовать вот такой вариант:
const pathImage = 'D:\Image.jpg';
var OnLoad: boolean = true;
procedure TForm2.FormCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
var
ScaleForm: Double;
begin
if OnLoad then
begin
if Assigned(Image1.Picture) then
begin
NewWidth := Image1.Picture.Width;
NewHeight := Image1.Picture.Height;
end;
OnLoad := false;
Exit;
end;
ScaleForm := NewWidth / NewHeight;
if ScaleForm > Scale then
begin
NewHeight := Trunc(NewWidth / Scale);
end
else
begin
NewWidth := Trunc(Scale * NewHeight);
end;
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
if (FileExists(pathImage)) then
Image1.Picture.LoadFromFile(pathImage);
Scale := Image1.Picture.Width / Image1.Picture.Height;
end;
Свойства
TImage;
То при запуске программы вид:
Если попробовать прижать мышью заголовок формы и оттащить окно (можно еще так: мышку поместить в угол формы, собираясь изменить размер и при прикосновении произойдет аналогичное), то сразу станет так:
вот это как раз то, что и хотелось бы получить - именно такой вид. Некий рефреш происходит?
Но каким образом сделать с самого начала подобное растяжение по всему пространству в форме?
Delphi XE