con el siguiente código mueves el scroll de un stringgrid, supongo que en un DBGrid tambien debe funcionar:
Código Delphi
[-]
stringgrid1.Perform(WM_VSCROLL,SB_BOTTOM,0);
el código anterior envía el scroll a la última fila, es cuestión de cambiar el parámetro: que dejo los valores posibles:
Código Delphi
[-]
{$EXTERNALSYM SB_LINEUP}
SB_LINEUP = 0;
{$EXTERNALSYM SB_LINELEFT}
SB_LINELEFT = 0;
{$EXTERNALSYM SB_LINEDOWN}
SB_LINEDOWN = 1;
{$EXTERNALSYM SB_LINERIGHT}
SB_LINERIGHT = 1;
{$EXTERNALSYM SB_PAGEUP}
SB_PAGEUP = 2;
{$EXTERNALSYM SB_PAGELEFT}
SB_PAGELEFT = 2;
{$EXTERNALSYM SB_PAGEDOWN}
SB_PAGEDOWN = 3;
{$EXTERNALSYM SB_PAGERIGHT}
SB_PAGERIGHT = 3;
{$EXTERNALSYM SB_THUMBPOSITION}
SB_THUMBPOSITION = 4;
{$EXTERNALSYM SB_THUMBTRACK}
SB_THUMBTRACK = 5;
{$EXTERNALSYM SB_TOP}
SB_TOP = 6;
{$EXTERNALSYM SB_LEFT}
SB_LEFT = 6;
{$EXTERNALSYM SB_BOTTOM}
SB_BOTTOM = 7;
{$EXTERNALSYM SB_RIGHT}
SB_RIGHT = 7;
{$EXTERNALSYM SB_ENDSCROLL}
SB_ENDSCROLL = 8;
y los valores de la dirección del scroll:
Código Delphi
[-]
{$EXTERNALSYM WM_HSCROLL}
WM_HSCROLL = $0114;
{$EXTERNALSYM WM_VSCROLL}
WM_VSCROLL = $0115;
Espero que te sirva