property OnDblClick: TNotifyEvent; // published, inherited from TControl
OnDblClick feuert nach dem zweiten OnClick einer Doppelklick-Sequenz, gesteuert über die Systemzeit für Doppelklicks und das Pixel-Toleranzfenster. Der Sender-Parameter ist die TPdfView selbst; die Bildschirmposition lässt sich aus Mouse.CursorPos holen und mit ScreenToClient in Client-Koordinaten umrechnen
Eine naheliegende Nutzung dieses Ereignisses in einem PDF-Reader ist die "Zoom-auf-Punkt"-Geste: Der Nutzer doppelklickt ins Dokument, um zwischen Einpassen-auf-Breite und dem vorherigen Zoom-Level umzuschalten, optional mit Zentrierung auf die Klickposition. Ein weiteres gängiges Muster: per Doppelklick das Wort unter dem Cursor auswählen, indem man CharacterIndexAtPos aufruft und dann CurrentCharIndex / Selektionslänge um das getroffene Zeichen herum aufspannt
Der Annotation-/Link-Handler des Viewers läuft zuerst — doppelklickt der Nutzer einen Link, hat der erste Klick dem Link bereits gefolgt. Doppelklick ist deshalb am besten Verhaltensweisen vorbehalten, die nicht mit normalen Navigationsgesten kollidieren
Enabled = FalsePdfView1.CharacterIndexAtPos(Point(X, Y), PageNo) aus einem gepaarten OnMouseDown-Handler aufrufen, der die Position festhält, und dann in OnDblClick reagieren
// 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;