property OnKeyUp: TKeyEvent;
OnKeyUp는 TPdfView에 published된 표준 VCL 키보드 이벤트로,
핸들러는 컨트롤이 포커스를 가진 상태에서 운영체제가 WM_KEYUP /
WM_SYSKEYUP 메시지를 보고한 뒤에 돕니다. 이벤트 시그니처는
procedure(Sender: TObject; var Key: Word; Shift: TShiftState)이며 —
Key는 가상 키 코드(VK_ESCAPE,
VK_NEXT, VK_PRIOR 등)이고 Shift는
놓는 순간의 수정자 상태를 알려 줍니다
OnKeyUp는 TPdfView가 키보드 포커스를 갖고 있다면 모든 키에 대해 발생합니다 — 화살표 키와
펑션 키 같은 문자가 아닌 키도 포함입니다. 핸들러 안에서
Key를 0으로 설정하면 이벤트를 소비해 더 이상 전파되지 않게 할 수 있습니다(예: 폼 필드가
편집 중일 때 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;