![]() |
[Solved] Lücken beim Löschen von ListView Items (vsIcon)
Hallo,
dieser Code
Delphi-Quellcode:
soll aus einem ListView Items sowie dazugehörige Bilder löschen.
procedure TImgStdListView.ClearSelectedItems(ItemList: IntegerList);
var I: Integer; begin Self.Items.BeginUpdate; for I := High(ItemList) downto 0 do begin Self.Items.Delete(ItemList[I]); Self.LargeImages.Delete(ItemList[I] + 1); //Index 0 ist vorbelegt mit Standard-Thumb // Items.ImageIndex um die Anzahl der gelöschten Elemente dekrementieren! end; Self.Items.EndUpdate; end; Wenn ich Items von vorderen Plätze lösche, bleiben aber leere Plätze zurück. Sie scheinen gelöscht zu werden, rücken aber nicht auf. Irgendwelche Ideen? Grüße Sebastian PS: Die ItemList enthält definitiv die richtigen Indizes. |
Re: Probleme beim Löschen von ListView Items
mit diesem code werden die bilder richtig aufgerückt:
Delphi-Quellcode:
Was bleibt sind die Löcher im ListView. Update oder Refresh helfen auch nicht.
procedure TImgStdListView.ClearSelectedItems(ItemList: IntegerList);
var I: Integer; begin Self.Items.BeginUpdate; for I := High(ItemList) downto 0 do begin Self.Items.Delete(ItemList[I]); Self.LargeImages.Delete(ItemList[I] + 1); end; for I := 0 to Self.Items.Count - 1 do Self.Items[I].ImageIndex := I + 1; Self.Items.EndUpdate; end; Hatte niemand vor mir das Problem?? Grüße Sebastian [EDIT:] Der ViewStyle ist übrigens vsIcon, dass muss so bleiben. Mit vsList verschwinden die Lücken erwartungsgemäß.. [EDIT:]
Delphi-Quellcode:
löst das Problem. Ein Aufruf vor EndUpdate genügt.
Self.Arrange(arDefault);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz