Ich habe im www folgenden Codeschnipsel gefunden der eigentlich das machen sollte was man denkt.
In Verbindung mit selbst gezeichneten Listvieweinträgen und vsReport (jede Zeile eine andere Hintergrundfarbe), verhält sich das gezeichnete Image1 komisch denn
es drängt sich ab und zu dann wieder über den Listvieweintrag womit dann natürlich die Texte verdeckt werden.
Was ist falsch?
Delphi-Quellcode:
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState;
var DefaultDraw: Boolean);
begin
if Odd(Item.
Index)
then
Sender.Canvas.Brush.Color := clYellow;
end;
procedure TForm1.ListView1CustomDraw(Sender: TCustomListView;
const ARect: TRect;
var DefaultDraw: Boolean);
begin
with Sender
as TListView
do
begin
Canvas.Draw(100, 100, Image1.Picture.Bitmap);
SetBkMode(Canvas.Handle, TRANSPARENT);
Perform(LVM_SETTEXTBKCOLOR, 0, LPARAM(CLR_NONE));
ListView_SetBKColor(
Handle, CLR_NONE);
end;
end;