Gibts bei der Listview nicht sowas wie 'BeginUpdate / 'EndUpdate'? Genauergesagt bei den Items.
Probiers doch so:
Delphi-Quellcode:
ListView.items.beginupdate;
MyPos := ListView.ItemIndex;
Try
.... items neu erstellen etc.
Finally
ListView.ItemIndex := MyPos;
ListView.Items.EndUpdate;
End;
Kann sein, das das Merken vom Index überflüssig ist. Wenn Du Items wegschmeisst, musst Du natürlich MyPos entsprechend ändern. Alternativ kannst Du dir auch die 'Caption' von der aktuellen Position merken, und vor dem 'EndUpdate' diese Caption suchen. Oder sonst irgendwas.