property OnClick: TNotifyEvent; // published, inherited from TControl
OnClick wird nach der normalen Sequenz OnMouseDown / OnMouseUp ausgelöst, wenn der Benutzer die linke Maustaste drückt und wieder loslässt, ohne den Mauszeiger weit genug zu bewegen, um einen Drag zu erkennen. Der Parameter Sender ist die TPdfView-Instanz selbst; die Cursorposition wird nicht übergeben, kann aber aus Mouse.CursorPos ermittelt und mit ScreenToClient umgerechnet werden
Die interne Klickverarbeitung des Viewers für Anmerkungen, Weblinks und Formularfelder läuft vor diesem Ereignis — wenn der Klick einen navigierbaren Link getroffen hat, ist der Seitenwechsel oder der URI-Aufruf bereits erfolgt. OnClick ist daher vor allem für Reaktionen auf Anwendungsebene nützlich: ein Tooltip-Overlay ausblenden, ein Miniaturansichten-Panel verbergen, ein Analytikereignis protokollieren oder einen Fokusmodus umschalten
Wenn eine feinere Position benötigt wird, stattdessen OnMouseDown oder OnMouseUp einhängen. Um Klicks auf bestimmte PDF-Objekte (Anmerkungen, Links, Formularfelder) zu erkennen, verwenden Sie die speziellen Ereignisse OnAnnotationLinkClick und OnWebLinkClick oder rufen Sie HasFormFieldAt aus OnMouseDown auf
OnClick auch dann, wenn der Benutzer Enter drückt, während der Viewer den Fokus hat (entsprechend anderen TWinControl-Nachkommen)Enabled := False deaktiviert — das Ereignis wird nicht ausgelöst, wenn sich der Viewer im schreibgeschützten Vorschaumodus befindetTThread.Queue ein, wenn Sie I/O ausführen müssen, damit sich der Klick reaktionsschnell anfühlt
// Ein Overlay-Panel ausblenden, wenn der Benutzer auf das Dokument klickt
procedure TForm1.PdfView1Click(Sender: TObject);
begin
if SearchPanel.Visible then
SearchPanel.Hide;
StatusBar1.SimpleText := Format('Clicked — page %d of %d',
[PdfView1.PageNumber, PdfView1.Pdf.PageCount]);
end;