property Constraints: TSizeConstraints; // published, inherited from TControl
Constraints udostępnia cztery podwłaściwości MinWidth, MaxWidth, MinHeight i MaxHeight (wszystkie domyślnie 0 = brak limitu). Ograniczają one logikę zmiany rozmiaru sterowaną przez Align, Anchors albo jawne wywołania SetBounds, uniemożliwiając przeglądarce skurczenie się poniżej użytecznego minimum albo rozrost ponad rozsądne maksimum
W aplikacjach czytnika PDF najważniejsze są wymiary minimalne: poniżej około 240 x 180 renderowanie staje się niewygodne, a paski przewijania zaczynają walczyć o miejsce z samą stroną. Ustawienie MinWidth := 320 i MinHeight := 240 pozwala uniknąć tej wizualnej degradacji, dając użytkownikom nadal możliwość wąskiego zadokowania przeglądarki
Gdy ograniczenie zacznie działać, aktywny FitMode przelicza ponownie powiększenie strony względem ograniczonego rozmiaru klienta. Gwarantuje to, że dopasowanie do szerokości i do strony nigdy nie wygeneruje zerowych ani ujemnych rozmiarów w pikselach, które w przeciwnym razie skłoniłyby PDFium do pominięcia renderowania
Constraints dodatkowo współdziała z motywowanymi rozmiarami minimalnymi zestawu widgetów, ale własna logika kontrolki PDFium używa wyłącznie wartości zadeklarowanych tutajMaxWidth := 800 przy zachowaniu MinWidth := 0OnResize i ponowne dopasowanie, jeśli bieżący rozmiar narusza nowy zakres
// 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;