property Enabled: Boolean; // published, inherited from TControl
當 Enabled 為 True 時,檢視器會回應滑鼠點擊、拖曳、滑鼠滾輪與鍵盤導覽。把它設為 False 會封鎖所有使用者輸入,滑鼠點擊不再改變選取或捲動位置,鍵盤快捷鍵不再移動頁面,表單欄位元件也不再接收事件,而頁面仍會正常渲染
這就是標準的唯讀預覽模式:文件仍會顯示,使用者看得到內容,但不會不小心捲過頭、修改表單欄位或選取文字。當長時間作業正在進行時(儲存、列印、匯出)可先用這個模式維持 UI 可預測,等工作完成後再重新啟用檢視器
停用狀態也會從父元件往下傳遞,因此如果父面板被停用,即使檢視器自己的 Enabled 是 True,它在輸入層面仍會被視為停用。停用內容的視覺外觀取決於主題;有些 VCL 主題會把控制項調暗,有些則不改變外觀
TrueAsyncRendering 之類的背景工作,快取的頁面位元圖仍會繼續更新,只是使用者輸入被封鎖AllowUserPageChange 與 AllowUserTextSelection 這些較細的屬性,不要直接停用整個控制項
// 在長時間匯出進行時停用檢視器
procedure TForm1.btnExportClick(Sender: TObject);
begin
PdfView1.Enabled := False;
try
ExportAllPagesToImages(PdfView1.Pdf, 'C:\out\');
finally
PdfView1.Enabled := True;
PdfView1.SetFocus;
end;
end;