PDA

Ver la Versión Completa : Cambiar estilo de fuente en columna de ListView


andre
06-05-2003, 14:09:20
Hola Amigos,

Estoy buscando la manera de cambiar el estilo de la fuente en solo una de las columnas o solo una fila de un ListView. La propiedad Font lo hace pero para todo el componente y lo necesito para una celda, fila o columna separado.

Muchas gracias.

__cadetill
06-05-2003, 16:19:14
Hola

Para poder cambiar el font del Item tendras que programar el evento CustomDrawItem

Te pongo un ejemplo para pintar una determinada fila sabiendo el texto de esta


procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if Item.Caption = 'ComboBox1' then
ListView1.Canvas.Font.Color := clRed;
end;


Y para los subitems el evento CustomDrawSubItem. Un ejemplillo


procedure TForm1.ListView1CustomDrawSubItem(Sender: TCustomListView;
Item: TListItem; SubItem: Integer; State: TCustomDrawState;
var DefaultDraw: Boolean);
begin
if Item.Caption = 'ComboBox1' then
case SubItem of
1 : ListView1.Canvas.Font.Color := clMaroon;
2 : ListView1.Canvas.Font.Color := clYellow;
3 : ListView1.Canvas.Font.Color := clPurple;
4 : ListView1.Canvas.Font.Color := clTeal;
end;
end;


Espero te sirva

__cadetill
06-05-2003, 17:21:22
Hola Andre

Acabo de subir a mi web una ampliación que tenía de funcionamiento del TListView

He añadido la funcionalidad de dar color por filas y/o por columnas por si te interesa y quieres descargártelo.

Espero que sea esto lo que buscas

andre
08-05-2003, 14:50:47
Gracias cadetill por contestar esta pregunta y muchisimas gracias por el programa que subiste a tu pagina, esta espectacular, estoy aprendiendo mucho de el.

Saludos.