var Form1: TForm1; Grafik : array of TImage; implementation
{$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var i : integer; begin for i := 0 to 2000 do begin Setlength(Grafik, length(Grafik) +1); Grafik[i] := TImage.Create(nil); with Grafik[i] do begin Picture := Image1.Picture; Parent := Form1; Top := i; end; end; end;
procedure TForm1.Button1Click(Sender: TObject); begin Timer1.Enabled := True; end;
procedure TForm1.Timer1Timer(Sender: TObject); var i : integer; begin for i := 0 to length(Grafik) -1 do Grafik[i].Left := Grafik[i].Left +10; end;
Non-non. Sorry jeg var ikke så frisk i forgårs :o) Men det er altså komponenter du vil flytte? Jeg ville bare vide, hvor langt væk fra din kode du har lyst til at gå. Bedre ville være selv at skrive en Draw-metode, hvor du tegnede billederne på formen - ultimativt ville du bruge DirectX eller en anden graphics-driver. Når du siger det ikke behøver være TImage blev jeg blot i tvivl om hvad du ville - for unægteligt ville dét at flytte billeder hurtigt være hurtigere hvis det slet ikke var TImage eller Tetellerandet, men hvis du brugte fx DelphiX som er en 'oversættelse' af DirectX-apiet til delphi, så man med et sæt komponenter kan skabe lyd, billede m.v. og indeed flytte mange billeder hurtigt ;o) Endnu er der muligheden TForm.DoubleBuffered. Derfor ville jeg lige vide, hvad du havde i tankerne ;o)
Du siger bare til, hvis noget af ovenstående vakte interesse. Iøvrigt findes der da også metoder til at få Formen til at lade være med at repainte - til at stille den på 'standby, dont paint' - indtil alle éns billeder er flyttet. Du siger bare, hvad du ønsker..
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.