Ver Mensaje Individual
  #1  
Antiguo 20-01-2006
[pepon386] pepon386 is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Valencia
Posts: 68
Reputación: 20
pepon386 Va por buen camino
Dibujando en un TListView

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.

Última edición por pepon386 fecha: 20-01-2006 a las 09:04:25.
Responder Con Cita