property OnDblClick: TNotifyEvent; // published, inherited from TControl
OnDblClick는 더블클릭 시퀀스에서 두 번째 OnClick 뒤에 발생하며, 시스템 더블클릭 시간과 픽셀 허용 범위를 사용합니다. Sender 파라미터는 TPdfView 자신이고 화면 위치는 Mouse.CursorPos로 구한 뒤 ScreenToClient로 클라이언트 좌표로 바꿀 수 있습니다
PDF 리더에서 이 이벤트의 자연스러운 쓰임은 "해당 지점으로 줌" 제스처입니다. 사용자가 문서를 더블클릭하면 fit-to-width와 이전 줌 레벨 사이를 토글하고, 선택적으로 클릭 위치를 중심으로 뷰를 맞춥니다. 또 하나의 흔한 패턴은 더블클릭으로 커서 아래 단어를 선택하는 것으로, CharacterIndexAtPos를 호출한 뒤 CurrentCharIndex / 선택 길이를 히트한 문자 주위로 확장합니다
뷰어의 주석/링크 핸들러가 먼저 돕니다 — 사용자가 링크를 더블클릭하면 첫 클릭 때 이미 링크를 따라간 상태입니다. 따라서 더블클릭은 일반 내비게이션 제스처와 충돌하지 않는 동작에 쓰는 것이 좋습니다
Enabled = False일 때는 이벤트가 발생하지 않습니다OnMouseDown 핸들러에서 PdfView1.CharacterIndexAtPos(Point(X, Y), PageNo)를 호출하고 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;