property OnSelectionChange: TNotifyEvent;
Notifica al anfitrión que la selección de texto ha mutado. Se dispara en cada transición en la que los rangos FSelection materializados difieren del estado anterior — incluyendo vacío → no vacío (un arrastre empieza a capturar caracteres), no vacío → vacío (ClearSelection, cambio de página, desactivación, cambio de documento) y cualquier mutación de rango intermedia (Shift+Right, extensión de arrastre con movimiento de ratón, expansión de palabra con doble clic).
NO se dispara cuando se establece de nuevo la misma selección (p. ej. llamar a SelectAll dos veces en la misma página). La comprobación interna de igualdad de rangos cortocircuita la reaplicación idéntica, de modo que el evento puede cablearse directamente al texto de la barra de estado o al estado habilitado de un botón sin anti-rebote.
procedure TForm1.PdfViewSelectionChange(Sender: TObject);
begin
StatusBar1.Panels[0].Text :=
Format('%d chars selected', [PdfView1.SelectionCharCount]);
CopyButton.Enabled := PdfView1.HasSelection;
end;