Lo que intento precisamente es lo que se indica arriba en el código, al activar un panel ('Panel1'), posicionarlo en la pantalla según la línea del DBGrid1 que tenga selecccionado, concretamente en la posicion Top := 106 + (18*N_Row), siendo N_Row la línea del DBGrid1 que en ese momento se encuentre activa.
El código que tengo es:
Código Delphi
[-]unit Principal;
interface
uses
...
type
THackGrid = class(TDBGrid);
TMain = class(TForm)
...
Frame1: TFrameA;
...
var
Principal1: TMain;
implementation
...
procedure TMain.Panel1Enter(Sender: TObject);
var
N_Row: Integer;
begin
N_Row := THackGrid(Frame1.DBGrid1).Row;
Panel1.Top := 106 + (18*N_Row);
end;
Nota: El FrameA está definido adicionalmente y el DBGrid1 es parte de ese FrameA, al igual que Panel1.
Gracias de nuevo por la ayuda.