unit interposer_class;  interface  uses   Vcl.Forms, Vcl.Controls,  CommCtrl, Messages, sPanel, sEdit, sPageControl,   System.Classes,  AdvCGrid, Uni, pixel_classes;  {$TYPEINFO ON}  type   TForm =  class(Vcl.Forms.TForm)   protected     procedure CreateParams(var  Params: TCreateParams); override;   public     constructor  Create(AOwner: TComponent); override;     destructor Destroy; override;    end;    TsPanel = class(sPanel.TsPanel)   protected     procedure  CreateParams(var Params: TCreateParams); override;   end;    TsEdit =  class(sEdit.TsEdit)   protected     procedure CreateParams(var Params:  TCreateParams); override;   end;    TsPageControl =  class(sPageControl.TsPageControl)   protected     procedure  CreateParams(var Params: TCreateParams); override;   private      procedure TCMAdjustRect(var Msg: TMessage); message TCM_ADJUSTRECT;    end;    TAdvColumnGrid = class(AdvCGrid.TAdvColumnGrid)   private      FByPassAF: TArray<Boolean>;     FORMField: TArray<string>;       function GetCells(ACol, ARow: Integer): TZString; // Getter for  Cells     procedure SetCells(ACol, ARow: Integer; const Value:  TZString); // Setter for Cells     function GetBypassAF(ACol: Integer):  Boolean;     procedure SetBypassAF(ACol: Integer; const Value: Boolean);      function GetORMField(ACol: Integer): string; // Getter for ORMField      procedure SetORMField(ACol: Integer; const Value: string); //  Setter for ORMField   protected     procedure CreateParams(var Params:  TCreateParams); override;   public     property Cells[ACol, ARow:  Integer]: TZString read GetCells write SetCells; // Interposed property      property BypassAutoFit[ACol: Integer]: Boolean read GetBypassAF  write SetBypassAF;     property ORMField[ACol: Integer]: string read  GetORMField write SetORMField; // New ORMField property   published      function CriaLinhaObjeto(MyObject: TObject): Integer;     function  CriaLinha: Integer;     function GetColumnIndexByName(const nome:  string): Integer;     procedure SetBasicColumnConfig;   end;   implementation  uses   pixel_utils, System.Math, System.Types, Windows,  System.SysUtils, TypInfo,   Generics.Collections, Data.DB, Vcl.Graphics,  ComCtrls, Vcl.Grids;  procedure TForm.CreateParams(var Params:  TCreateParams); begin   inherited CreateParams(Params);    StrPCopy(Params.WinClassName, 'ZPro'); end;  constructor  TForm.Create(AOwner: TComponent); begin   inherited; end;  destructor  TForm.Destroy; begin   inherited; end;  procedure  TsPanel.CreateParams(var Params: TCreateParams); begin   inherited  CreateParams(Params);   StrPCopy(Params.WinClassName, 'Painel'); end;   procedure TsEdit.CreateParams(var Params: TCreateParams); begin    inherited CreateParams(Params);   StrPCopy(Params.WinClassName,  'Editor'); end;  procedure TsPageControl.CreateParams(var Params:  TCreateParams); begin   inherited CreateParams(Params);    StrPCopy(Params.WinClassName, 'PagCtrl'); end;  procedure  TsPageControl.TCMAdjustRect(var Msg: TMessage); begin   inherited;    case TabPosition of     tpTop:       begin          PRect(Msg.LParam)^.Left := 0;         PRect(Msg.LParam)^.Right :=  ClientWidth;         PRect(Msg.LParam)^.Bottom := ClientHeight;        end;   end; end;  procedure TAdvColumnGrid.CreateParams(var Params:  TCreateParams); begin   inherited CreateParams(Params);    StrPCopy(Params.WinClassName, 'Grid'); end;  function  TAdvColumnGrid.GetCells(ACol, ARow: Integer): TZString; begin   Result  := inherited Cells[ACol, ARow]; // Call the base class property end;   procedure TAdvColumnGrid.SetCells(ACol, ARow: Integer; const Value:  TZString); begin   inherited Cells[ACol, ARow] := string(Value); // Set  the base class property end;  function TAdvColumnGrid.GetBypassAF(ACol:  Integer): Boolean; begin   Result := FByPassAF[ACol]; end;  procedure  TAdvColumnGrid.SetBypassAF(ACol: Integer; const Value: Boolean); begin    if Length(FByPassAF) < ACol + 1 then     SetLength(FByPassAF, ACol +  1);   FByPassAF[ACol] := Value; end;  function  TAdvColumnGrid.GetORMField(ACol: Integer): string; begin   if  Length(FORMField) > ACol then     Result := FORMField[ACol]   else      Result := ''; // Return empty string if the column index is out of  bounds end;  procedure TAdvColumnGrid.SetORMField(ACol: Integer; const  Value: string); begin   if Length(FORMField) < ACol + 1 then      SetLength(FORMField, ACol + 1);   FORMField[ACol] := Value; // Set the  ORMField for the specific column end;  function  TAdvColumnGrid.CriaLinha: Integer; begin   Self.RowCount :=  Self.RowCount + 1;   Self.ClearRows(Self.RowCount - 1, 1);   Result :=  Self.RowCount - 1; end;  function  TAdvColumnGrid.CriaLinhaObjeto(MyObject: TObject): Integer; begin    Self.RowCount := Self.RowCount + 1;   Self.ClearRows(Self.RowCount - 1,  1);   Self.Objects[0, Self.RowCount - 1] := MyObject;   Result :=  Self.RowCount - 1; end;  function  TAdvColumnGrid.GetColumnIndexByName(const nome: string): Integer; begin    Result := 0;   for var i := 1 to Pred(Self.ColCount) do     if  Self.Columns[i].Name = nome then Exit(i); end;  procedure  TAdvColumnGrid.SetBasicColumnConfig; var   i: Integer; begin   with Self  do   begin     SuppressColumn(0);     for i := 1 to ColCount - 1 do        if Columns[i].Tag = 0 then       begin          Columns[i].HeaderAlignment := taCenter;          Columns[i].HeaderFont.Name := 'Tahoma';          Columns[i].HeaderFont.Size := MulDiv(8, 96, Self.CurrentPPI);          Columns[i].HeaderFont.Color := clWhite;          Columns[i].HeaderFont.Style := [fsBold];       end;     for i := 1 to  ColCount - 1 do       if Columns[i].Tag = 0 then       begin          Columns[i].Font.Name := 'Verdana';         Columns[i].Font.Size :=  MulDiv(10, 96, Self.CurrentPPI);         Columns[i].Font.Style := [];        end;     for i := 1 to ColCount - 1 do       if Columns[i].Tag = 0  then       begin         Columns[i].ShowBands := True;         Colors[i,  0] := RGB($41, $3F, $42);       end;      for i := 1 to ColCount - 1 do        Columns[i].Tag := 1; // Flag that default settings have been  applied      Bands.PrimaryColor := $00EFEFEF;     Bands.SecondaryColor  := $00F9F9F9;     MouseActions.DirectEdit := True;      MouseActions.DirectComboDrop := True;     Bands.Active := True;      ActiveCellShow := False;     Navigation.SkipDisabledRows := True;      Navigation.AutoComboSelect := False;     ShowSelection := True;      HideFocusRect := True;     Options := Options - [goRangeSelect] +  [goRowSelect];     HoverRow := True;     HoverRowColor := clYellow;      ActiveRowShow := True;     ActiveRowColor := clLime;     SelectionColor  := clLime;     SelectionTextColor := clBlack;     ColumnSize.Stretch :=  False;     ColumnSize.StretchColumn := -1; // Sets the rightmost column  to stretch     ColumnSize.SynchWithGrid := False;     FixedRowAlways :=  True;     FixedRows := 1;   end; end;  end. Review and enhance this Delphi unit