global vars:
PhotoCount,PhotoSpace, PhotosPrRow,PhotoNumber: Integer;
Files: TStrings;
Photos: Array of Timage;
(......)
procedure TFormMain.MenuOpenClick(Sender: TObject);
var
i,j: integer;
Jpg: TJpegImage;
begin
if OpenPictureDialog.Execute then
begin
MenuAdd.Visible:=true;
MenuOpen.Visible:=false;
Files:=OpenPictureDialog.Files;
PhotoCount:=Files.Count;
SetLength(Photos,PhotoCount);
PhotosPrRow:=(FormMain.Width - MinPhotoSpace) div (MiniPhotoWidth + MinPhotoSpace);
PhotoSpace:=(FormMain.Width - PhotosPrRow * MiniPhotoWidth) div (PhotosPrRow+1)-1;
for i:=0 to (Ceil(PhotoCount / PhotosPrRow) - 1) do
begin
for j:=0 to (PhotosPrRow - 1) do
begin
PhotoNumber:=i*PhotosPrRow+j;
Photos[PhotoNumber]:=TImage.Create(FormMain);
with Photos[PhotoNumber] do
try
Parent:=FormMain;
Tag:=PhotoNumber;
Top:=PhotoSpace+i*(PhotoSpace+MiniPhotoHeight);
Left:=PhotoSpace+j*(PhotoSpace+MiniPhotoWidth);
Width:=MiniPhotoWidth;
Height:=MiniPhotoHeight;
Center:=true;
Stretch:=true;
Proportional:=true;
OnMouseDown := FlipBitmapRight;
except Photos[PhotoNumber].Free;
end;
Jpg:=TJpegImage.Create;
Jpg.LoadFromFile(Files[PhotoNumber]);
Photos[PhotoNumber].Picture.Bitmap.Assign(Jpg);
Jpg.Free;
MenuAdd.Visible:=true;
if PhotoCount-1=PhotoNumber then break;
end;
end;
end;
end;
procedure TFormMain.MenuAddClick(Sender: TObject);
var
i,j: integer;
Jpg: TJpegImage;
begin
if OpenPictureDialog.Execute then
begin
Files.AddStrings(OpenPictureDialog.Files);
PhotoCount:=Files.Count;
SetLength(Photos,PhotoCount);
for i:=0 to (Ceil(PhotoCount / PhotosPrRow) - 1) do
begin
for j:=0 to (PhotosPrRow - 1) do
begin
PhotoNumber:=i*PhotosPrRow+j;
if not Assigned(Photos[PhotoNumber]) then
begin
Photos[PhotoNumber]:=TImage.Create(FormMain);
with Photos[PhotoNumber] do
try
Parent:=FormMain;
Tag:=PhotoNumber;
Top:=PhotoSpace+i*(PhotoSpace+MiniPhotoHeight);
Left:=PhotoSpace+j*(PhotoSpace+MiniPhotoWidth);
Width:=MiniPhotoWidth;
Height:=MiniPhotoHeight;
Center:=true;
Stretch:=true;
Proportional:=true;
OnMouseDown := FlipBitmapRight;
except Photos[PhotoNumber].Free;
end;
Jpg:=TJpegImage.Create;
Jpg.LoadFromFile(Files[PhotoNumber]);
Photos[PhotoNumber].Picture.Bitmap.Assign(Jpg);
Jpg.Free;
end;
if PhotoCount-1=PhotoNumber then break;
end;
end;
end;
end;