Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#3

AW: ListBox.SelectAll dauert etwas länger

  Alt 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;
  Mit Zitat antworten Zitat