Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: TListItem markieren ohne Bildlauf, wenn nicht notwendig

  Alt 26. Jun 2008, 11:16
Hallo Heiko,

wenn das eine Option für dich ist, dann virtualisiere die ListView einfach - dein Problem löst sich dann wie von selbst. Code aus einer Demo von mir:

Delphi-Quellcode:
procedure TMainForm.ItemRemoveExecute(Sender: TObject);
var
  i, n: integer;
begin
  n := ListView.ItemIndex;
  for i := Pred(ListItems.Count) downto 0 do
    if ListItems[i].Selected then
    begin
      Values.Delete(i);
      n := i;
    end;
  ListItems.Count := Values.Count;
  ListView.Invalidate;
  ListView.ItemIndex := n;
end;
Freundliche Grüße
  Mit Zitat antworten Zitat