Wenn das dein Quellcode ist kannst du den Overhead des Eerzeugens und auf Parent-Setzen evtl. um ca. 90% beschleunigen wenn statt auf der Scrollbox alle Controls auf ein "Trägerpanel" erzeugt werden und diese dann der Scrollbox zugewiesen wird.
5000 Edits auf Scrollbox direkt erzeugen: 18,5 Sekunden
Verhindern neuzeichnen Srollbox mit WM_SETREDRAW: 10 Sekunden
Edits auf Trägerpanel erzeugen: 2,5 Sekunden
Das sind die Zeiten über Remote Desktop. Evtl. läuft das direkt schneller.
Meine "Business-Code" hierzu war:
Delphi-Quellcode:
for i := 0 to 5000 do
begin
ctrl := TEdit.Create(ScrollBox1);
ctrl.Parent:=scrollbox1;
ctrl.Text := 'Herbert ' + i.ToString();
ctrl.Top := i * 24;
ctrl.Left := 16;
end;
Windows Vista - Eine neue Erfahrung in Fehlern.