Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-01-2006
[pepon386] pepon386 is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Valencia
Posts: 68
Poder: 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
  #2  
Antiguo 20-01-2006
[pepon386] pepon386 is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Valencia
Posts: 68
Poder: 20
pepon386 Va por buen camino
Ya lo he solucionado. Debe ser que estaba un poco ofuscado, pues la solución era bien simple: En el evento OnCustomDrawItem me empeñaba en querer dibujar todo el recuadro:
Código Delphi [-]
 
ListView1.Canvas.Brush.Color := clAqua;
ListView1.Canvas.FillRect(Rect); <------ Esto sobra
cuando ésto no era necesario.

Saludos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Trabajando con TListView y TListItem Esti OOP 4 23-11-2005 11:14:07
Error en el TListView de Delphi 2005 cmoss Varios 0 18-10-2005 11:55:43
Perdido con el TListView bustio OOP 6 01-09-2005 22:06:28
Crear un TListView en tiempo de ejecución finrold Varios 2 15-03-2004 10:29:17
Problema con TListview perceptron OOP 4 17-12-2003 15:21:34


La franja horaria es GMT +2. Ahora son las 08:39:24.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi