Hallo,
ich habe eine TListView mit
Delphi-Quellcode:
ViewStyle:=vsReport;
GridLines:=true;
In manchen Zeilen sollen die Zellen mit verschiedener Hintergrundfarbe verbunden werden.
Ich verwende
Delphi-Quellcode:
procedure TKabOpTerminManager.ListViewSucheCustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var x,y:Integer;
Rect:TRect;
begin
if TMiniTermin(Item.Data).InfoText<>'' then
begin
Sender.Canvas.Brush.Color:=stringToColor(TMiniTermin(Item.Data).Farbe);
Rect:=Item.DisplayRect(drBounds);
y:= Rect.Top;
x:= Rect.Left + 2;
Rect.Right:=Rect.Left+Sender.Width-10;
Sender.Canvas.Brush.Style := bsSolid;
Sender.Canvas.FillRect(Rect);
Sender.Canvas.TextRect( Rect, x, y, TMiniTermin(Item.Data).InfoText );
end;
end;
Das Problem ist nun, dass 1. die GridLines angezeigt werden und 2. der Text nicht erscheint.
Erst wenn ich die Maus "wild" über die Fläche bewege, wird die Zeile irgendwann ausgefüllt und der Text wird sichtbar.
Ich hatte es auch schon mit OwnerDraw:=true und onDrawItem versucht, da erscheint der Text zwar von Anfang an, aber die Gridlines sind dennoch sichtbar.
Hat jemand eine Idee??
Christof