property OnDblClick: TNotifyEvent; // published, inherited from TControl
OnDblClick jest wywoływane po drugim OnClick w sekwencji podwójnego kliknięcia, z użyciem systemowego czasu podwójnego kliknięcia i tolerancji pikselowej. Parametr Sender to sam TPdfView; położenie na ekranie można pobrać z Mouse.CursorPos i przekształcić do współrzędnych klienta za pomocą ScreenToClient
Naturalnym zastosowaniem tego zdarzenia w czytniku PDF jest gest „powiększ do punktu”: użytkownik dwukrotnie klika dokument, aby przełączać się między dopasowaniem do szerokości a poprzednim poziomem powiększenia, opcjonalnie centrowając widok na pozycji kliknięcia. Innym częstym wzorcem jest użycie podwójnego kliknięcia do zaznaczenia słowa pod kursorem przez wywołanie CharacterIndexAtPos, a następnie rozszerzenie CurrentCharIndex i długości zaznaczenia wokół trafionego znaku
Najpierw działa obsługa adnotacji lub linków widoku — jeśli użytkownik dwukrotnie kliknie link, pierwsze kliknięcie już go otworzyło. Podwójne kliknięcie najlepiej więc zarezerwować dla zachowań, które nie kolidują ze zwykłymi gestami nawigacji
Enabled = FalsePdfView1.CharacterIndexAtPos(Point(X, Y), PageNo) z sparowanej procedury OnMouseDown, która zapamiętuje pozycję, a następnie działaj w 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;