property TabStop: Boolean; // published, inherited from TWinControl
Wenn TabStop True ist, nimmt der PDF-Viewer am Tab-Zyklus des Formulars teil. Das Drücken von Tab, während ein anderes Steuerelement im Formular den Fokus hat, verschiebt den Fokus schließlich in den Viewer, woraufhin Tastenkürzel wie Page Up / Page Down, die Pfeiltasten zum Scrollen und der in OnKeyDown definierte Suchkürzel-Handler aktiv werden
Den Viewer fokussierbar zu halten ist wichtig für die Barrierefreiheit: Screenreader und rein per Tastatur arbeitende Nutzer müssen den Dokumentbereich erreichen, um Seiten durchzugehen oder Textauswahl auszulösen, indem sie Shift mit den Pfeiltasten halten. Der Standardwert für ein veröffentlichtes TabStop auf einem TScrollingWinControl-Abkömmling ist True
Das Setzen von TabStop := False entfernt den Viewer aus der Tab-Reihenfolge; der Benutzer kann weiterhin hineinklicken, um mit der Maus zu scrollen, aber die Tastatur kann ihn nicht ohne einen expliziten Aufruf von PdfView1.SetFocus fokussieren. Das ist manchmal nützlich, wenn der Viewer rein dekorativ ist — zum Beispiel als Vorschaufenster neben einer Liste von Suchergebnissen
TabStop als auch TabOrder werden in der Formdatei gespeichertAllowUserTextSelection gesteuerte Textauswahl reagiert nur auf Mausziehs und auf Tastatureingaben, sobald der Viewer Fokus hat; das Deaktivieren von TabStop zwingt Nutzer daher effektiv zum Klicken, bevor sie Text per Tastatur auswählen könnenOnEnter / OnExit zusammen mit TabStop, um Werkzeugleisten zu aktualisieren, etwa um eine Kopieren-Schaltfläche nur dann zu aktivieren, wenn der Viewer das aktive Steuerelement ist
// Den Viewer vollständig per Tastatur zugänglich machen und als ersten Tab-Stopp setzen
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;