Hola, foreros! A ver si alguno de vosotros puede hecharme una mano:
En un formulario tengo un TListView en el cual tengo la propiedad ViewStyle con el valor vsReport (para que salga parecido a un grid, con cabecera y varias columnas), con varias columnas definidas. En el evento OnCustomDrawSubItem tengo un pequeño algoritmo que dibuja un gráfico. Hasta aquí todo bien, pero en el momento en que en el evento OnCustomDrawItem intento que me cambie el color de las líneas pares (para que se vea mejor), me cambia el tamaño de la fuente de texto sin poderlo solucionar:
Código Delphi
[-]
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
Rect: TRect;
begin
if Item = nil then Exit;
if (Item.Index > 0) and (Item.Index mod 2 = 0) then
begin
Rect := Item.DisplayRect(drBounds);
ListView1.Canvas.Brush.Color := clAqua;
ListView1.Canvas.FillRect(Rect);
end;
DefaultDraw := True;
end;
procedure TForm1.ListView1CustomDrawSubItem(Sender: TCustomListView;
Item: TListItem; SubItem: Integer; State: TCustomDrawState;
var DefaultDraw: Boolean);
begin
if SubItem <> 6 then
begin
DefaultDraw := True;
Exit;
end;
DefaultDraw := False;
...
... (código para dibujar)
end;
¿A alguno de vosotros se os ha planteado este problema o sabe como solucionarlo? Por cierto, uso Delphi 7.