You have the events exposed for the standard Lazarus grid controls, in particular OnEditingDone (when editing of a cell is completed by pressing ENTER or navigating to another cell):
procedure TForm1.sWorksheetGrid1EditingDone(Sender: TObject);
begin
Label1.caption := sWorksheetGrid1.Cells[sWorksheetGrid1.Col, sWorksheetGrid1.Row];
end;
Since this is a grid-event it does not fire if you modify the underlying worksheet by code. There is an internal event for this case (Worksheet.OnChangeCell), but since this is used for internal communication between visual and non-visual fpspreadsheet components I do not recommend its usage. On the other hand, since the worksheet is modified by code you exactly know when this happens and you can react accordingly.