property OnKeyUp: TKeyEvent;
OnKeyUp — стандартное событие клавиатуры VCL, опубликованное у TPdfView. Обработчик
запускается после того, как ОС доставит WM_KEYUP /
WM_SYSKEYUP, пока контрол в фокусе. Сигнатура события
procedure(Sender: TObject; var Key: Word; Shift: TShiftState) —
Key — код виртуальной клавиши (VK_ESCAPE,
VK_NEXT, VK_PRIOR, …), а Shift сообщает
состояние модификаторов в момент отпускания
OnKeyUp срабатывает для любой клавиши — включая не-символьные вроде стрелок
и функциональных клавиш — пока TPdfView держит фокус клавиатуры. Задайте
Key ноль внутри обработчика, чтобы поглотить событие и не дать ему
распространиться дальше (например, чтобы Tab не гонял фокус, когда редактируется поле формы)
OnKeyUp подходит для шорткатов вьювера, которые должны срабатывать на отпускание, а не
на удержание — Page Down / Page Up для навигации, F3 для поиска следующего, Escape чтобы
снять выделение. Непрерывные взаимодействия (панорамирование, прямоугольное выделение) лучше
вести из OnKeyDown, потому что ОС автоповторяет KeyDown, а KeyUp
шлёт один раз на физическое отпускание
Key in [VK_CONTROL, VK_SHIFT, VK_MENU], если хотите их игнорировать
procedure TForm1.PdfView1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
case Key of
VK_NEXT: PdfView1.PageNumber := PdfView1.PageNumber + 1;
VK_PRIOR: PdfView1.PageNumber := PdfView1.PageNumber - 1;
VK_HOME: PdfView1.PageNumber := 1;
VK_END: PdfView1.PageNumber := Pdf1.PageCount;
VK_ESCAPE: PdfView1.ClearHighlight;
end;
end;