property TabStop: Boolean; // published, inherited from TWinControl
Ist TabStop True, nimmt der PDF-Viewer am Tab-Zyklus der Form teil. Drückt der Nutzer Tab, während ein anderes Control der Form den Fokus hat, wandert der Fokus irgendwann in den Viewer; ab dann sind Tastenkürzel wie Page Up / Page Down, die Pfeiltasten zum Scrollen und der in OnKeyDown definierte Find-Kürzel-Handler aktiv
Den Viewer fokussierbar zu halten ist wichtig für Accessibility: Screenreader und Tastatur-only-Nutzer müssen in den Dokumentbereich gelangen, um Seiten durchzugehen oder Textauswahl per Shift plus Pfeiltasten anzustoßen. Der Standardwert für ein published TabStop an einem TScrollingWinControl-Nachfahren ist True
TabStop := False nimmt den Viewer aus der Tab-Reihenfolge; klicken und mit der Maus scrollen geht weiterhin, aber die Tastatur kann ihn ohne einen expliziten PdfView1.SetFocus-Aufruf nicht fokussieren. Das ist gelegentlich nützlich, wenn der Viewer rein dekorativ ist — etwa ein Vorschaubereich neben einer Liste von Suchtreffern
TabStop als auch TabOrder landen in der Form-DateiAllowUserTextSelection angetriebene Textauswahl reagiert nur auf Maus-Ziehen und auf Tastatureingaben, sobald der Viewer den Fokus hat; ohne TabStop müssen Nutzer also erst klicken, bevor sie per Tastatur Text markieren könnenOnEnter / OnExit zusammen mit TabStop verwenden, um Toolbars zu aktualisieren (etwa einen Copy-Button nur dann aktivieren, wenn der Viewer das aktive Control ist)
// Make the viewer fully keyboard-accessible and the first tab stop
procedure TForm1.FormCreate(Sender: TObject);
begin
PdfView1.TabStop := True;
PdfView1.TabOrder := 0;
PdfView1.OnKeyDown := PdfView1KeyDown;
end;
procedure TForm1.PdfView1KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if (Key = VK_F3) then PdfView1.FindNext
else if (Key = Ord('C')) and (ssCtrl in Shift) then
Clipboard.AsText := PdfView1.SelectedText;
end;