property Constraints: TSizeConstraints; // published, inherited from TControl
Constraints открывает четыре подсвойства: MinWidth, MaxWidth, MinHeight и MaxHeight (все по умолчанию 0 = без ограничения). Они ограничивают логику изменения размера, движимую Align, Anchors или явными вызовами SetBounds, не давая вьюверу схлопнуться ниже полезного минимума или вырасти сверх разумного максимума
Для приложений-ридеров важнее всего минимальные размеры: ниже примерно 240 x 180 рендеринг становится некомфортным, а полосы прокрутки начинают драться за место с самой страницей. Значения MinWidth := 320 и MinHeight := 240 уберегают от такого визуального коллапса, позволяя пользователю по-прежнему узко пристыковывать вьювер
Когда срабатывает ограничение, активный FitMode пересчитывает зум страницы под ужатый клиентский размер. Это гарантирует, что fit-to-width и fit-to-page не дадут нулевых или отрицательных пиксельных размеров, из-за которых PDFium пропускает рендеринг
Constraints дополнительно взаимодействует с тематическими минимальными размерами widget set, но собственная логика PDFium-контрола использует только значения, объявленные здесьMaxWidth := 800 при MinWidth := 0OnResize и пере-подгонку, если текущий размер нарушает новый диапазон
// 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;