Buenos días,
Como miembro desde hace años, después de un parón obligado, he vuelto a retocar pequeños proyecto aparcados que ahora ya puedo retomar. Espero y deseo que los miembros que dejé en su día por este foro, sigan por aquí y todo les vaya bien en estos tiempos. Todo lo que aprendí de ellos, nunca lo olvidaré, y espero seguir haciendolo a partir de ahora como lo hacía antes.
Tengo la vers. C.T 5.6 instalada, tal cual tuve que dejar. La he vuelto a instalar y mi problema radica con un simple DBGrid.
DBGrid con 4 columnas, en dos ellas tengo visualizado dos pequeño iconos con su código asociado, dentro del mismo procedure DBGrid1DrawColumnCell. Ahora he intento alternar el color de las filas, porque visualmente para mi es más facil ver la grilla, mediante este código.
row := DBgrid1.DataSource.DataSet.RecNo; // leo registros totales. if odd(row) then begin UnColor:=clskyBlue; end else begin UnColor:=clWhite; end; with (Sender As TDBGrid).Canvas do begin brush.Color:=UnColor; font.color:=ClBlack; FillRect(Rect); TextOut(Rect.Left, Rect.Top, Column.Field.AsString); //DBgrid1.DefaultDrawColumnCell(rect,DataCol,Column,State); -> Lo he quitado porque con esta opción se escribe varias veces la misma fila alineada y sin alinear end;
Así me marca el color de las filas, pero pierde la alineación, y como he comentado, el texto de las dos columnas con iconos, se solapan y el texto se superpone en los iconos (ya que los iconos están a la izquierda y el texto se superpone tambien a la izquierda) cuando antes de colorear las filas, estaba a la derecha. He intentado cambiar en las propiedad del DBgrid alignment = taRightJustifity, pero no responde ninguna columna siquiera.
He probado varios códigos, pero este es el único que me colorea.
Muchas gracias y un saludo.