property Constraints: TSizeConstraints; // published, inherited from TControl
Constraints は MinWidth、MaxWidth、MinHeight、MaxHeight の 4 つのサブプロパティを公開します(すべてデフォルト 0 = 無制限)。Align や Anchors、明示的な SetBounds 呼び出しが駆動するリサイズロジックに上限と下限を掛け、ビューアーが使い物にならないサイズまで縮んだり、常識外れに大きくなったりするのを防ぎます
PDF リーダーアプリで特に大事なのは最小寸法です。おおよそ 240 x 180 を下回ると描画がつらくなり、スクロールバーがページ本体と場所を奪い合い始めます。MinWidth := 320 と MinHeight := 240 を設定すれば、見た目の崩れを避けつつ、ユーザーがビューアーを狭くドッキングすることは許容できます
制約が効くとき、アクティブな FitMode は丸め込まれたクライアントサイズに対してページ拡大率を再計算します。fit-to-width や fit-to-page がゼロや負のピクセルサイズを生んで、PDFium の描画スキップにつながるような事態を防げます
Constraints がさらにウィジェットセットのテーマ最小サイズとも相互作用しますが、PDFium コントロール自身のロジックはここで宣言された値だけを使いますMaxWidth := 800 にしつつ MinWidth := 0 を保てますOnResize と再フィットが走ることがあります
// Keep the viewer usable in any layout configuration
procedure TForm1.FormCreate(Sender: TObject);
begin
PdfView1.Constraints.MinWidth := 320;
PdfView1.Constraints.MinHeight := 240;
PdfView1.Constraints.MaxWidth := 0; // no max
PdfView1.Constraints.MaxHeight := 0; // no max
PdfView1.Anchors := [akLeft, akTop, akRight, akBottom];
PdfView1.FitMode := pfmFitToWidth;
end;