TTMSFNCGrid - using images in cells will cause custom colors to be ignored

Hello.

If i use images in some cells, then custom colors of grid or font are ignored.

To reproduce the problem, just create a empty VCL project (Delphi 10.4.2 in my case) and fill OnCreate event of main form:

procedure TForm1.FormCreate(Sender: TObject);
var
  grid: TTMSFNCGrid;
  i: Integer;
  img: TTMSFNCBitmap;
begin
  img := TTMSFNCBitmap.CreateFromURL('https://www.alphasystems.sk/images/smilies/smile.gif');

  grid := TTMSFNCGrid.Create(Self);
  grid.Parent := self;
  grid.Align := TAlign.alClient;
  grid.Visible := True;
  grid.RandomFill(True);

  for i := 0 to grid.Columns.Count - 1 do
  begin
    grid.Columns[i].Font.Color := clRed;
    grid.Columns[i].BorderColor := clRed;
  end;

  grid.AddBitmap(2,2,img); //image deactivate custom Font.Color and custom BorderColor
  grid.AddBitmap(2,3,img); //image deactivate custom Font.Color and custom BorderColor
  grid.AddBitmap(2,4,img); //image deactivate custom Font.Color and custom BorderColor

end;

The custom colors are part of the column, which then are transferred to the cell, making the cell a specific type. When adding a bitmap, the cell type changes, which then no longer applies the border. To workaround this, you can use the following code instead:

procedure TForm1.TMSFNCGrid1GetCellLayout(Sender: TObject; ACol, ARow: Integer;
  ALayout: TTMSFNCGridCellLayout; ACellState: TTMSFNCGridCellState);
begin
  if not TMSFNCGrid1.IsFixed(ACol, ARow) then
  begin
    ALayout.Stroke.Color := gcRed;
    ALayout.Font.Color := gcRed;
  end;
end;