funcion miy bien. ahora estoy tratando de que sea mas versatil
teniendo un gris cargado en forma de cuadricula.
si las coordenadas varian. cargadas en un listado. hacer que cambien los colores de fondo.
ando algo enredado si no me doy a entender
puse esto asi.
Código Delphi
[-]
procedure TfrmArticulos.StringGrid1DrawCell(Sender: TObject; ACol,
ARow: Integer;
Rect: TRect;
State: TGridDrawState);
var
R: TRect;
v: Double;
begin
with TStringGrid(Sender) do
begin
if TryStrToFloat(Cells[ACol,ARow], v) then if (ACol = 3) and (ARow = 3) then
begin
if (v = 0) then begin
Canvas.Brush.Color:= clRed;
Canvas.Font.Color:= clWhite;
end
else begin
Canvas.Brush.Color:= clLime;
Canvas.Font.Color:= clBlack;
end;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left+1, Rect.Top+1, Cells[ACol,ARow]);
end;
if TryStrToFloat(Cells[ACol,ARow], v) then if (ACol = 2) and (ARow = 2) then
begin
if (v = 0) then begin
Canvas.Brush.Color:= clRed;
Canvas.Font.Color:= clWhite;
end
else begin
Canvas.Brush.Color:= clLime;
Canvas.Font.Color:= clBlack;
end;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left+1, Rect.Top+1, Cells[ACol,ARow]);
end;
if TryStrToFloat(Cells[ACol,ARow], v) then if (ACol = 5) and (ARow = 5) then
begin
if (v = 0) then begin
Canvas.Brush.Color:= clRed;
Canvas.Font.Color:= clWhite;
end
else begin
Canvas.Brush.Color:= clLime;
Canvas.Font.Color:= clBlack;
end;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left+1, Rect.Top+1, Cells[ACol,ARow]);
end;
end;
end;
lo primero que me interesa es que localize la celda por sus coordenadas.
fila y columna.
las coordenadas las quiero cargar desde un record. o
de un stringlist. o un archivo. csv .
aca la imagen de como se ve
