A ver. La propiedad LeftCol de TDBGrid está protegida, lo cual quiere decir que no podemos accederla directamente:
Pero puede accederse por clases descendientes, internamente
o en la unidad donde se declare la clase descendiente.
Al poner
Código Delphi
[-]
type
THackGrid = class(TDBGrid);
THackGrid es una clase descendiente de TDBGrid, aunque no agregue nada. Por ello, se puede hacer un moldeo como
Código Delphi
[-]
THackGrid(DBGrid1).LeftCol ...
al estar en la misma unidad que su declaración.
Y, dando otra vuelta de tuerca más, podemos poner
Código Delphi
[-]
type
TDBGrid = class(DBGrids.TDBGrid);
Aquí, TDBGrid es
otra clase, que desciende de la clase homónima de la unidad DBGrids.
// Saludos