Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-07-2005
abracadabra abracadabra is offline
Miembro
 
Registrado: jul 2005
Posts: 30
Poder: 0
abracadabra Va por buen camino
Como darle color a un TListColumn?

Hola a todos, soy nuevo en este forum, espero alguna vez poder ayudar en algun problema que se presente.
Resulta que estoy desarrollando una aplicación cuya interfaz utiliza un TListView con columnas (es decir TListView.ViewStyle=vsReport), el problema es que quisiera saber como puedo darle un color a cada TListColum que forma parte del conjunto de columnas del TListView.
Gracias de antemano.
Responder Con Cita
  #2  
Antiguo 14-07-2005
iuqrul iuqrul is offline
Miembro
 
Registrado: dic 2004
Ubicación: Cartagena
Posts: 36
Poder: 0
iuqrul Va por buen camino
Hola, create un formulario pon en él un ListView, el ListView.ViewStyle a vsReport y el ShowColumnHeaders a True y enganchale estos eventos, lo que he marcado en verde sería para pintar las columnas de forma independiente, si tienes más de dos columnas las siguientes te las dejará con el color de la 2.

procedure TForm1.ListView1CustomDrawSubItem(Sender: TCustomListView;
Item: TListItem; SubItem: Integer; State: TCustomDrawState;
var DefaultDraw: Boolean);
begin
with Sender.Canvas do begin
if subItem mod 2 = 0 then
Brush.Color := clyellow
else
Brush.Color := clRed;
{ case subitem of
1: Brush.Color := clyellow;
2: Brush.Color := clRed;
end}

end;
end;

procedure TForm1.ListView1CustomDraw(Sender: TCustomListView;
const ARect: TRect; var DefaultDraw: Boolean);
begin
Sender.Canvas.Brush.Color := clWhite;
Sender.Canvas.FillRect(ARect);
end;

procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
with Sender.Canvas do begin
Brush.Color := clBlue;
end
end;


Un saludo.
Responder Con Cita
  #3  
Antiguo 14-07-2005
abracadabra abracadabra is offline
Miembro
 
Registrado: jul 2005
Posts: 30
Poder: 0
abracadabra Va por buen camino
Muchas gracias IUGRUL, la solución me la enviaste con rapidez, acabo de probar el código que me enviaste y da resultados. Estoy muy agradecido.
Tengo otra inquietud, quizas me puedas ayudar. Quisiera saber como cambiar el color de las cabeceras de las columnas del ListView, me refiero no al color de toda la columna, sino solo del título de la columna.
Una vez mas gracias.
Responder Con Cita
  #4  
Antiguo 15-07-2005
iuqrul iuqrul is offline
Miembro
 
Registrado: dic 2004
Ubicación: Cartagena
Posts: 36
Poder: 0
iuqrul Va por buen camino
En principio para hacer eso debes definir pintar el componente completamente o implementar el tuyo propio, mira aquí, yo nunca he hecho algo así, pero si he tenido ese mismo problema y no lo he abordado.

Un saludo.
Responder Con Cita
  #5  
Antiguo 15-07-2005
abracadabra abracadabra is offline
Miembro
 
Registrado: jul 2005
Posts: 30
Poder: 0
abracadabra Va por buen camino
Una vez mas: Gracias IUGRUL
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


La franja horaria es GMT +2. Ahora son las 03:57:29.


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