2013-03-18 6 views
8

Sto usando listview in modalità virtuale vsreport, ho due colonne e dopo aver popolato la lista, selezionare una riga, e quindi selezionare qualche altra riga c'è un artefatto lasciato su una riga precedentemente selezionata, vedi immagine sotto. Come risolvere questo? enter image description hereDelphi XE2 listview artefacts

e questo è il mio codice che riceve i dati da un array

procedure TForm1.ListView1Data(Sender: TObject; Item: TListItem); 
begin 
    Item.Caption := FloatToStr(Item.Index + 1); 
    Item.SubItems.Add(FloatToStr(a[Item.Index])); 
end; 

Quando passa il mouse, i manufatti scompaiono. Grazie

+0

Fornire screenshot e codice (se è necessario riprodurlo) –

+0

Domanda aggiornata. –

+0

OK, posso riprodurlo ora. Lo farà solo per la modalità virtuale. –

risposta

8

L'impostazione della proprietà DoubleBuffered di listview su true risolve il problema degli artefatti.