PDFium Delphi Component Docs

Constraints Свойство

Компонент: TPdfView  ·  Модуль: PDFium
Определяет минимальную и максимальную ширину и высоту, которых может достигать просмотрщик PDF при изменении размера родителя

Syntax

property Constraints: TSizeConstraints; // published, inherited from TControl

Description

Constraints открывает четыре подсвойства: MinWidth, MaxWidth, MinHeight и MaxHeight (все по умолчанию 0 = без ограничения). Они ограничивают логику изменения размера, движимую Align, Anchors или явными вызовами SetBounds, не давая вьюверу схлопнуться ниже полезного минимума или вырасти сверх разумного максимума

Для приложений-ридеров важнее всего минимальные размеры: ниже примерно 240 x 180 рендеринг становится некомфортным, а полосы прокрутки начинают драться за место с самой страницей. Значения MinWidth := 320 и MinHeight := 240 уберегают от такого визуального коллапса, позволяя пользователю по-прежнему узко пристыковывать вьювер

Когда срабатывает ограничение, активный FitMode пересчитывает зум страницы под ужатый клиентский размер. Это гарантирует, что fit-to-width и fit-to-page не дадут нулевых или отрицательных пиксельных размеров, из-за которых PDFium пропускает рендеринг

Remarks

Example

// 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;

See Also

Align, Anchors, OnResize, FitMode