property OnDblClick: TNotifyEvent; // published, inherited from TControl
OnDblClick jest wywoływane po drugim OnClick w sekwencji dwukrotnego kliknięcia, z użyciem systemowego czasu dwukrotnego kliknięcia i pikselowego okna tolerancji. Parametr Sender to sama instancja TPdfView; położenie na ekranie można pobrać z Mouse.CursorPos i przekształcić na współrzędne klienta za pomocą ScreenToClient
Naturalne zastosowanie tego zdarzenia w czytniku PDF to gest „zoom-to-point”: użytkownik dwukrotnie klika dokument, aby przełączać między dopasowaniem do szerokości a poprzednim poziomem powiększenia, opcjonalnie centrując widok na pozycji kliknięcia. Innym częstym wzorcem jest użycie dwukrotnego kliknięcia do zaznaczenia słowa pod kursorem przez wywołanie CharacterIndexAtPos, a następnie rozszerzenie CurrentCharIndex / długości zaznaczenia wokół trafionego znaku
Procedura obsługi adnotacji/odnośników przeglądarki działa jako pierwsza — jeśli użytkownik dwukrotnie kliknie odnośnik, pierwszy klik już wykonał nawigację. Dwukrotne kliknięcie najlepiej zarezerwować więc dla zachowań, które nie kolidują ze zwykłymi gestami nawigacji
Enabled = FalsePdfView1.CharacterIndexAtPos(Point(X, Y), PageNo) ze sparowanej procedury obsługi OnMouseDown, która zapamiętuje pozycję, a następnie zareaguj 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;