Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
Delphi 2007 Professional
|
AW: ListBox.SelectAll dauert etwas länger
29. Apr 2012, 02:24
Und wenn der Code von Sir Rufo keine Besserung bringt (die Items werden ja nicht verändert sondern nur selektiert, was im Hintergrund wahrscheinlich zig1000 Messages verursacht) dann vielleicht dies:
Delphi-Quellcode:
// von TeamB
procedure LockControl(c: TWinControl; lock: boolean);
begin
if (c = nil) or (c.Handle = 0) then exit;
if lock then SendMessage(c.Handle, WM_SETREDRAW, 0, 0)
else begin
SendMessage(c.Handle, WM_SETREDRAW, 1, 0);
RedrawWindow(c.Handle, nil, 0,
RDW_ERASE or RDW_FRAME or RDW_INVALIDATE or RDW_ALLCHILDREN);
end;
end;
LockControl(ListBox, True);
try
ListBox.SelectAll;
ListBox.TopIndex:=i;
finally
LockControl(ListBox, False);
end;
|
|
Zitat
|