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.
// Toggle between fit-to-width and 100% zoom on double-click
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;