const
Espace = 10;
...
procedure TForm1.Button1Click(Sender: TObject); //Bouton charger fichier
var
MyImage : TImage;
I : Integer;
MemSP : Integer;
begin
for I := ScrollBox1.ControlCount -1 downto 0 do
if ScrollBox1.Controls[I] is TImage then
TImage(ScrollBox1.Controls[I]).Free;
MemSP := Espace;
for I := 0 to FileListBox1.Items.Count-1 do
begin
MyImage := TImage.Create(ScrollBox1);
MyImage.Parent := ScrollBox1;
MyImage.Width := 100;
MyImage.Height := 100;
MyImage.Stretch := True;
MyImage.Top := Espace;
MyImage.Left := MemSP;
MyImage.Picture.LoadFromFile(FileListBox1.Items[I]);
MemSP := MemSP + MyImage.Width + Espace;
end;
ScrollBox1.Height := MyImage.Width + (Espace * 2) + 20;
end;
procedure TForm1.Button2Click(Sender: TObject); //Bouton Start / Stop
begin
Timer1.Enabled := not Timer1.Enabled;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
Value : Integer;
I : Integer;
ReloadImage : TImage;
begin
if ScrollBox1.ControlCount < 2 then
Exit;
if not CheckBox1.Checked then //Choix méthode
begin
//Méthode 1
ScrollBox1.HorzScrollBar.Increment := ScrollBox1.Controls[ScrollBox1.Tag].Width +10;
Value := ScrollBox1.HorzScrollBar.ScrollPos;
SendMessage(ScrollBox1.Handle, WM_HSCROLL, SB_LINEDOWN, 0);
ScrollBox1.Tag := ScrollBox1.Tag +1;
if ScrollBox1.HorzScrollBar.ScrollPos = Value then
begin
SendMessage(ScrollBox1.Handle, WM_HSCROLL, SB_TOP, 0);
ScrollBox1.Tag := 0;
end;
end
else
begin
//Méthode 2
ReloadImage := TImage.Create(ScrollBox1);
ReloadImage.Parent := ScrollBox1;
ReloadImage.Width := 100;
ReloadImage.Height := 100;
ReloadImage.Stretch := True;
ReloadImage.Top := Espace;
ReloadImage.Picture := TImage(ScrollBox1.Controls[0]).Picture;
ScrollBox1.Components[0].Free;
ScrollBox1.Controls[0].Left := Espace;
for I := 1 to ScrollBox1.ControlCount -1 do
ScrollBox1.Controls[I].Left := ScrollBox1.Controls[I-1].Left + ScrollBox1.Controls[I-1].Width + Espace;
end;
end;
repeatcomme tu l'as dit.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionprocedure TForm1.FormCreate(Sender: TObject); begin Timer4.Enabled := False; end;
procedure TForm1.Timer4Timer(Sender: TObject); begin with Timer4 do begin Image1.Picture.LoadFromFile(FileListBox1.Items[Tag]); Tag := Tag + 1; if Tag = FileListBox1.Items.Count then Tag := 0; end; end;
procedure TForm1.btnStartStopClick(Sender: TObject); begin Timer4.Enabled := not Timer4.Enabled; end;
procedure TForm1.Timer6Timer(Sender: TObject);
var
x: word;
Imagem: TImage;
i, y: integer;
espaco{, TotImagens}: integer;
begin
// RAZ des images du ScrollBox1
for y := ScrollBox1.ControlCount -1 downto 0 do
if Scrollbox1.Controls[y] is Timage then
begin
TImage(Scrollbox1.Controls[y]).Picture := nil;
Timage(Scrollbox1.Controls[y]).Free;
end;
With Timer6 do
begin
espaco:=10;
for i := Tag to FileListBox1.Items.Count do
begin
Imagem := TImage.Create(Self);
Imagem.Parent := Form1.ScrollBox1;
Imagem.Width:=100;
Imagem.Height:=100;
Imagem.Stretch:=true;
Imagem.Top := 10;
Imagem.Left := espaco;
Imagem.Picture.LoadFromFile(FileListBox1.Items[Tag]);
espaco:=espaco+Imagem.Width+10;
Tag := Tag + 1;
if (Tag = FileListBox1.Items.Count) then
Tag := 0;
end;
end;
end;
procedure TForm1.Button6Click(Sender: TObject);
var
x: word;
Imagem: TImage;
i, y: integer;
espaco, TotImagens: integer;
begin
TotImagens := 0;
TotImagens := FileListBox1.Items.Count;
Button3.Caption := IntToStr(TotImagens);
// RAZ images contenues ds ScrollBox1
for y := ScrollBox1.ControlCount -1 downto 0 do
if Scrollbox1.Controls[y] is Timage then
begin
TImage(Scrollbox1.Controls[y]).Picture := nil;
Timage(Scrollbox1.Controls[y]).Free;
end;
Timer4.Enabled := True;
x := Random(FileListBox1.Count-1);
espaco:=10;
for i := 0 to FileListBox1.Items.Count-1 do
begin
Imagem := TImage.Create(Self);
Imagem.Parent := Form1.ScrollBox1;
Imagem.Width:=100;
Imagem.Height:=100;
Imagem.Stretch:=true;
Imagem.Top := 10;
Imagem.Left := espaco;
Imagem.Picture.LoadFromFile(FileListBox1.Items[i]);
espaco:=espaco+Imagem.Width+10;
end;
Timer3.Interval := TotImagens * 905;
Timer3.Enabled := True;
end;
procedure TForm1.Timer4Timer(Sender: TObject);
begin
ScrollBox1.ScrollBy(-8, 0);
end;
procedure TForm1.Timer3Timer(Sender: TObject);
begin
Button6Click(Sender);
end;