Ich habe eine TListBox mit Style=lbVirtualOwnerDraw mit ca. 50k Einträgen.
Wenn ich ein SelectAll mache dauert das etwas länger, und wenn das SelectAll
endlich fertig ist, werden die letzten Einträge der Liste angezeigt.
Ich möchte aber erstens, dass das ohne merkliche Verzögerung abläuft und dass
am Schluss die Einträge angezeigt werden, die vorher angezeigt wurden.
Vorerst habe ich das so gelöst:
Delphi-Quellcode:
var i:integer;
begin
i:=ListBox.TopIndex;
ListBox.Visible:=false; // Bei vielen Einträgen dauert SelectAll etwas länger
ListBox.SelectAll;
ListBox.TopIndex:=i;
ListBox.Visible:=true;
end;
Das geht blitzartig und die Darstellung ist so, wie ich es möchte.
Mir gefällt aber das .Visible:=false und ab Schluss Visible:=true nicht.
Weiß jemand eine andere Lösung?