property Anchors: TAnchors; // published, default [akLeft, akTop]
Les ancres sont une alternative à Align qui donnent un contrôle au pixel près sur la façon dont la visionneuse PDF suit son conteneur parent. Chaque élément de l’ensemble (akLeft, akTop, akRight, akBottom) verrouille ce bord de la visionneuse au même bord du parent — si les deux bords opposés sont ancrés, la visionneuse s’étire lorsque le parent se redimensionne ; si un seul est ancré, la visionneuse garde sa taille et glisse
La disposition la plus courante pour un lecteur PDF dans un panneau d’inspection à largeur fixe ou une étape d’assistant est [akLeft, akTop, akRight, akBottom], qui est fonctionnellement équivalente à alClient mais laisse le rectangle englobant de conception intact et vous permet d’imbriquer d’autres contrôles autour de la visionneuse sans surprises d’ordre z
Chaque fois qu’une ancre fait grandir ou rétrécir la visionneuse, le gestionnaire de redimensionnement hérité recalcule la zone de défilement ; le FitMode actif (lorsqu’il n’est pas pfmNone) est réappliqué afin que l’illustration de page garde sa relation visuelle avec la zone d’affichage
Anchors et Align s’excluent mutuellement sur le même contrôle. Définir Align à une valeur autre que alNone remplace les ancres à l’exécutionConstraints.MinWidth / MinHeight pour garder la zone d’affichage utilisableOnResize, afin que tout câblage de barre de défilement ou calcul de zoom déclenché par cet événement continue de s’exécuter
// Lock the viewer to all four edges of its parent panel
procedure TForm1.ConfigureViewer;
begin
PdfView1.Parent := PanelMain;
PdfView1.Align := alNone;
PdfView1.SetBounds(8, 8, PanelMain.ClientWidth - 16,
PanelMain.ClientHeight - 16);
PdfView1.Anchors := [akLeft, akTop, akRight, akBottom];
PdfView1.Constraints.MinWidth := 320;
PdfView1.Constraints.MinHeight := 240;
end;