Thank you, Bill!
While you were writing the answer I also found the OnViewChange event in the documentation:
procedure TFormMain.ImageEnView1ViewChange(Sender: TObject; Change: Integer);
begin
if OldImageEditorZoomValue <> ImageEnView1.Zoom then
begin
CodeSite.Send('TFormMain.ImageEnView1ViewChange: Zoom has changed');
UpdateZoomLabel;
OldImageEditorZoomValue := ImageEnView1.Zoom;
end;
end;
Would this work in ALL cases where the zoom could change?