Hallo zusammen
Ich habe eine Listview mit Viewstyle "vsreport".
Bei einem bestimmten Kriterium sollen veschiedene Bitmaps angezeigt werden.
Soweit funktioniert auch alles, jedoch beim Scrollen, verschwinden die Bitmaps, Zeile für Zeile
Kann mir vielleicht jemand helfen ?
Liebe Grüße Starworld
Delphi-Quellcode:
procedure TFListe.ListView1DrawItem(Sender: TCustomListView;
Item: TListItem; Rect: TRect; State: TOwnerDrawState);
var bmpImage: tBitmap;
intX, intY: Integer;
i,anzahl:Integer;
begin
I:=0; anzahl:=0;
anzahl:= Listview1.Items.Count;
while i < anzahl do
begin
with Listview1.Canvas do
begin
fillRect(rect);
bmpImage := tBitmap.Create;
try
If (ListView1.Items[i].Caption) = '1' then bmpImage.Assign(Punkt1.Picture.Bitmap);
If (ListView1.Items[i].Caption) = '2' then bmpImage.Assign(Punkt2.Picture.Bitmap);
If (ListView1.Items[i].Caption) = '3' then bmpImage.Assign(Punkt3.Picture.Bitmap);
If (ListView1.Items[i].Caption) = '4' then bmpImage.Assign(Punkt4.Picture.Bitmap);
If (ListView1.Items[i].Caption) = '5' then bmpImage.Assign(Punkt5.Picture.Bitmap);
intX := ((rect.Right - rect.Left) div 5) -
(bmpImage.Width div 5);
intY := ((rect.Bottom - rect.Top) div 5) -
(bmpImage.Height div 5);
draw(rect.Left + intX, rect.Top + intY, bmpImage);
finally
bmpimage.Free;
end;
end;
i:=i+1;
end;
end;