property OnDblClick: TNotifyEvent; // published, inherited from TControl
OnDblClick se dispara tras el segundo OnClick en una secuencia de doble clic, usando el tiempo de doble clic del sistema y la ventana de tolerancia de píxeles. El parámetro Sender es el propio TPdfView; la posición de pantalla puede recuperarse de Mouse.CursorPos y convertirse a coordenadas de cliente con ScreenToClient.
Un uso natural de este evento en un lector PDF es el gesto “zoom al punto”: el usuario hace doble clic en el documento para conmutar entre ajustar al ancho y el nivel de zoom anterior, opcionalmente centrando la vista en la posición del clic. Otro patrón habitual es usar el doble clic para seleccionar la palabra bajo el cursor llamando a CharacterIndexAtPos y luego expandiendo CurrentCharIndex / la longitud de selección alrededor del carácter alcanzado.
El controlador de anotaciones/enlaces del visor se ejecuta primero — si el usuario hace doble clic en un enlace, el primer clic ya siguió el enlace. El doble clic se reserva por tanto para comportamientos que no entren en conflicto con los gestos de navegación normales.
Enabled = False.PdfView1.CharacterIndexAtPos(Point(X, Y), PageNo) desde un controlador OnMouseDown emparejado que registre la posición y luego actúe en OnDblClick.
// Alternar entre ajustar al ancho y zoom 100% al hacer doble clic
procedure TForm1.PdfView1DblClick(Sender: TObject);
begin
if PdfView1.FitMode = pfmFitToWidth then
begin
PdfView1.FitMode := pfmNone;
PdfView1.Zoom := 1.0;
end
else
PdfView1.FitMode := pfmFitToWidth;
end;