// Ereignis TopLeftChanged von StringGrid1 nutzen
void __fastcall TForm1::StringGrid1TopLeftChanged(TObject *Sender)
{
// horizontale ScrollBarposition von StringGrid1 ermitteln
int iScrollPosH = GetScrollPos(StringGrid1->Handle, SB_HORZ);
// horizontale ScrollBarposition von StringGrid2 setzen
SetScrollPos(StringGrid2->Handle, SB_HORZ, iScrollPosH, true);
// Anzeige des Inhalts von StringGrid2 an die akt. ScrollBarposition anpassen
StringGrid2->Perform(WM_HSCROLL, MAKEWPARAM(SB_THUMBPOSITION, iScrollPosH), 0);
// vertikale ScrollBarposition von StringGrid1 ermitteln
int iScrollPosV = GetScrollPos(StringGrid1->Handle, SB_VERT);
// vertikale ScrollBarposition von StringGrid2 setzen
SetScrollPos(StringGrid2->Handle, SB_VERT, iScrollPosV, true);
// Anzeige des Inhalts von StringGrid2 an die akt. ScrollBarposition anpassen
StringGrid2->Perform(WM_VSCROLL, MAKEWPARAM(SB_THUMBPOSITION, iScrollPosV), 0);
}