property Align: TAlign; // published, inherited from TControl
TPdfView は TScrollingWinControl から派生するため、標準の VCL/LCL レイアウトシステムに参加します。Align は親にビューアーを 1 つ以上の辺へどうドッキングするかを指示します。これが PDF リーダーでフォーム全体、スプリッター内のパネル、タブシートの領域を埋める最も一般的な方法です
PDF ビューアーで最も有用な値は alClient です。ツールバー、ステータスバー、サイドパネルが配置された後に親の残りすべてのピクセルをビューアーが吸収します。FitMode と組み合わせると、ユーザーがフォームをリサイズするたびにページアートワークが自動的に再拡大縮小され、文書が常に可能な最大領域を使います
Align が有効になると、継承されたリサイズロジックがクライアント領域を再計算し、ビューアーの内部スクロール範囲が新しいサイズに対して再構築されるため、垂直スクロールバーと現在のページ位置が正しく保たれます。整列が適用された後に OnResize イベントが発火します
TAlign 列挙(alNone, alTop, alBottom, alLeft, alRight, alClient, alCustom)を出荷するため、VCL と Lazarus LCL で同一に動作しますalLeft または alBottom でドッキングし、PdfView1.Align := alClient に残りを埋めさせます — これによりすべての VCL コンテナー型で z オーダー意味論が保持されますAnchors を使う場合は、Align を alNone のままにします。2 つのシステムは同じコントロールでは相互排他です
// 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;