PDFium Delphi Component Docs

Событие OnDblClick

Компонент: TPdfView  ·  Модуль: PDFium
Срабатывает, когда пользователь делает двойной щелчок в окне просмотра левой кнопкой мыши

Syntax

property OnDblClick: TNotifyEvent; // published, inherited from TControl

Description

OnDblClick срабатывает после второго OnClick в последовательности двойного щелчка, по системному интервалу double-click и допустимому отклонению в пикселях. Параметр Sender — сам TPdfView; позицию на экране можно взять из Mouse.CursorPos и пересчитать в клиентские координаты через ScreenToClient

Естественное применение этого события в PDF-ридере — жест "zoom-to-point": пользователь делает двойной щелчок по документу, чтобы переключиться между fit-to-width и предыдущим уровнем зума, опционально центрируя вид на точке щелчка. Другой распространённый паттерн — выделять двойным щелчком слово под курсором, вызывая CharacterIndexAtPos, а затем расширяя CurrentCharIndex / длину выделения вокруг задетого символа

Обработчик аннотаций/ссылок у вьювера срабатывает первым — если пользователь дважды щёлкнул по ссылке, первый клик уже перешёл по ней. Поэтому двойной щелчок лучше приберечь для поведения, которое не конфликтует с обычными жестами навигации

Remarks

Example

// 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;

See Also

OnClick, FitMode, Zoom, CharacterIndexAtPos