property Align: TAlign; // published, inherited from TControl
TPdfView는 TScrollingWinControl의 후손이라 표준 VCL/LCL 레이아웃 시스템에 참여합니다. Align은 부모가 뷰어를 어떤 모서리에 도킹할지 알려 주는데, PDF 리더가 폼 전체, 스플리터 안의 패널, 탭 시트의 영역을 채우게 하는 가장 흔한 방법입니다
PDF 뷰어에서 가장 유용한 값은 alClient입니다. 툴바, 상태 표시줄, 사이드 패널이 자리 잡은 뒤 남은 부모의 픽셀을 뷰어가 모두 가져갑니다. FitMode와 조합하면 사용자가 폼 크기를 바꿀 때마다 페이지 그래픽이 자동으로 다시 스케일되므로 문서가 항상 가능한 가장 큰 영역을 씁니다
Align이 적용될 때마다 물려받은 리사이즈 로직이 클라이언트 영역을 다시 계산하고 뷰어의 내부 스크롤 범위가 새 크기에 맞춰 재구성되므로, 세로 스크롤바와 현재 페이지 위치는 계속 정확합니다. OnResize 이벤트는 정렬이 적용된 뒤 발생합니다
TAlign enum(alNone, alTop, alBottom, alLeft, alRight, alClient, alCustom)을 제공하므로 VCL과 Lazarus LCL에서 똑같이 동작합니다alLeft나 alBottom으로 도킹하고 PdfView1.Align := alClient로 나머지를 채우세요 — 모든 VCL 컨테이너 타입에서 z-order 의미가 유지됩니다Anchors를 쓴다면 Align은 alNone으로 두세요. 두 시스템은 같은 컨트롤에서 상호 배타적입니다
// Build a viewer that fills the form except for a toolbar on top
procedure TForm1.FormCreate(Sender: TObject);
begin
ToolBar1.Align := alTop;
StatusBar1.Align := alBottom;
PdfView1.Parent := Self;
PdfView1.Align := alClient;
PdfView1.FitMode := pfmFitToWidth;
PdfView1.Pdf := Pdf1;
Pdf1.LoadFromFile('sample.pdf');
PdfView1.Active := True;
end;