PDFiumPas 文件

OnSelectionChange event

此 API 條目保留識別符號、簽名、程式碼塊和 PDF 術語的原始形式。
元件: TPdfView  ·  單元: PDFium
當具體化後的文字選取範圍實際發生變化時觸發

語法

property OnSelectionChange: TNotifyEvent;

說明

這個事件會通知宿主應用程式,文字選取內容已經改變。只要具體化後的 FSelection 範圍與前一個狀態不同,就會觸發事件,包括空 → 非空,例如拖曳開始抓到字元;非空 → 空,例如 ClearSelection、頁面切換、停用檢視器或切換文件;以及中間任何範圍變化,例如 Shift+Right、滑鼠拖曳擴展,或雙擊展開成整個單字。若再次設定完全相同的選取範圍,例如在同一頁上連續呼叫兩次 SelectAll,就不會再次觸發。內部的範圍相等判斷會直接略過相同內容,因此這個事件可以安全地直接綁到狀態列文字或按鈕啟用狀態,而不需要額外防抖

備註

自 v1.36.0 起提供。事件處理常式內拋出的例外會被攔截並吞掉,因此宿主程式的 bug 不會在操作進行到一半時,中斷檢視器的繪製流程或滑鼠事件管線

範例

procedure TForm1.PdfViewSelectionChange(Sender: TObject);
begin
  StatusBar1.Panels[0].Text :=
    Format('%d chars selected', [PdfView1.SelectionCharCount]);
  CopyButton.Enabled := PdfView1.HasSelection;
end;

另請參閱

AllowUserTextSelection, HasSelection, SelectionCharCount, SelectedText