Ver Mensaje Individual
  #1  
Antiguo 16-05-2005
wvidela wvidela is offline
Registrado
 
Registrado: dic 2003
Posts: 5
Reputación: 0
wvidela Va por buen camino
Exclamation Listview vsReport : Como pintar parejas de filas de un solo color

Hola Amigos,

He buscando bastante en el grupo, pero no he podido solucionar mi
problema:
Tengo un listview donde muestro parejas de filas, ejemplo :

A 1 Dato1
B 1 Dato1
A 2 Dato2
B 2 Dato2
A 3 Dato3
B 3 Dato3
A 4 Dato4
B 4 Dato4

Necesito diferenciar las parejas, para eso he pensado en colorear una
de las parejas. Por ejemplo, pintar de mismo color A1,B1,A3,B3. Realice
el siguiente codigo en el metodo lvUnoCustomDrawItem :

procedure TfrmMain.lvUnoCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if (TagPair = 2) and (TagColor = 0) then begin
TagPair := 0;
TagColor := 1;
end
else if (TagPair = 2) and (TagColor = 1) then begin
TagPair := 0;
TagColor := 0;
end;

if TagColor = 1 then
lvUno.Canvas.Brush.Color := $FFCCCC;
TagPair := TagPair + 1;
end;

Eso me funciona OK, pero cuando hago scroll o selecciono un item de la
grilla pierdo el color de las columnas. Osea, no se mantienen las
parejas de filas pintadas.

PD. TagPair,TagColor son variables globales para controlar el pintado
de las paejas de filas...

Muchas Gracias y espero que puedan ayudarme.

Wence.
Responder Con Cita