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;