Hallo,
ich habe mit dem folgenden Code das CustomDrwawSubItem-Event befüllt. Der Testrahmen wird auch prima gezeichnet, die normal darzustellenden Spalten jedoch erhalten einen schwarzen Kasten, wenn text enthalten ist, Das aber auch nur, wenn der Cursor/Maus nach unten bewegt wird. Die Richtung nach oben erfolgt korrekt.
Delphi-Quellcode:
procedure TInfoAuftrDlg.PlanViewCustomDrawSubItem(Sender: TCustomListView;
Item: TListItem; SubItem: Integer; State: TCustomDrawState;
var DefaultDraw: Boolean);
var r : TRect;
i : Integer;
begin
if SubItem<5
then begin
DefaultDraw:=true;
exit;
end;
r := Item.DisplayRect(drBounds);
for i := 0 to SubItem-1 do begin
r.Left := r.Left + PlanView.Columns.Items[i].Width;
r.Right := r.Left + PlanView.Columns.Items[i+1].Width;
end;
if SubItem=5
then PlanView.Canvas.Pen.Color := clRed
else PlanView.Canvas.Pen.Color := clBlue;
PlanView.Canvas.Rectangle(r.Left, r.Top, r.Right, r.Bottom);
DefaultDraw := False;
end;
ListView ist vom Typ vsReport
Jemand eine zündene Idee?
Danke und ciao
Frank