type TPdfThumbnailOrientation = (ptoVertical, ptoHorizontal);
type TPdfThumbnailView = class(TCustomControl) ... end;
| Member | Description |
|---|---|
Create | 기본 썸네일 크기, 색상, 스크롤, 선택 상태를 초기화합니다 |
Destroy | 내부 썸네일 컨트롤 리소스를 해제합니다 |
EnsureCurrentPageVisible | 선택된 1 기반 페이지가 가시 범위 밖에 있을 때만 썸네일 뷰포트를 스크롤합니다 |
| Property | Type | Default | Description |
|---|---|---|---|
Pdf | TPdf | nil | 페이지 수 세기와 썸네일 렌더링에 쓰이는 문서 컴포넌트입니다 |
CurrentPageIndex | Integer | 0 | 1 기반 선택 페이지 인덱스입니다. 바꾸면 선택된 썸네일이 보이는 상태로 유지되고, 0은 선택 없음을 뜻합니다 |
Orientation | TPdfThumbnailOrientation | ptoVertical | 오른쪽 스크롤바를 가진 세로 목록 또는 아래쪽 스크롤바를 가진 가로 필름스트립 중 하나를 고릅니다 |
FirstVisiblePageIndex | Integer | Read-only | 현재 썸네일 뷰포트의 첫 1 기반 페이지이며 문서 페이지를 사용할 수 없으면 0입니다 |
LastVisiblePageIndex | Integer | Read-only | 현재 썸네일 뷰포트의 마지막 1 기반 페이지이며 문서 페이지를 사용할 수 없으면 0입니다 |
ThumbnailWidth | Integer | 120 | 목표 썸네일 너비이며 지원 범위로 제한됩니다 |
ThumbnailHeight | Integer | 160 | 목표 썸네일 높이이며 지원 범위로 제한됩니다 |
TextColor | TColor | clBlack | 페이지 번호 캡션 색상입니다 |
HoverColor | TColor | clMoneyGreen | 마우스를 올린 썸네일 아래 행의 강조 색상입니다 |
SelectionColor | TColor | clHighlight | CurrentPageIndex 행의 강조 색상입니다 |
BorderColor | TColor | clGray | 썸네일 테두리 색상입니다 |
Color | TColor | clWhite | TCustomControl에서 상속된 컨트롤 배경 색상입니다 |
Align, Anchors, Visible | — | 표준 폼 배치와 가시성을 위한 재공개된 TControl 속성입니다 |
| Event | Type | Description |
|---|---|---|
OnPageClick | TPdfThumbnailClickEvent | 사용자가 썸네일 행을 왼쪽 클릭하면 발생하며 APageIndex는 1 기반입니다 |
뷰어가 쓰는 것과 같은 TPdf 인스턴스를 Pdf에 할당하고 CurrentPageIndex를 활성 페이지와 동기화해 두세요
사이드바에는 ptoVertical을, 필름스트립에는 ptoHorizontal을 사용하면 히트 테스트, 그리기, 스크롤, 가시 범위 조회가 선택한 방향을 따릅니다
컨트롤은 스크롤을 자체 소유하고 현재 보이는 페이지 범위의 렌더링된 비트맵만 유지하므로, 인접 스크롤 동안 겹치는 페이지는 재사용되면서 긴 문서가 메모리에 남지 않습니다
다른 Pdf를 할당하거나 ThumbnailWidth나 ThumbnailHeight를 바꾸면 캐시된 비트맵이 지워지지만, 호버와 현재 페이지 상태 변화는 비트맵을 재사용합니다
짝을 이루는 TPdfView.PageNumber나 다른 페이지 내비게이션 표면을 갱신하려면 OnPageClick을 처리하세요
ThumbnailView.Pdf := Pdf1;
ThumbnailView.Orientation := ptoHorizontal;
ThumbnailView.CurrentPageIndex := PdfView1.PageNumber;
ThumbnailView.OnPageClick := ThumbnailPageClick;