HotXLS Docs

TXLSXChartLayout class

TXLSXChartLayout stocke une mise en page manuelle préservant les champs, pour les zones de traçage, les titres de graphique ou d'axe et les légendes

Déclaration

type
  TXLSXChartLayoutTarget = (xlsxChartLayoutOuter, xlsxChartLayoutInner);
  TXLSXChartLayoutMode = (xlsxChartLayoutFactor, xlsxChartLayoutEdge);

  TXLSXChartLayout = class
    property Enabled: Boolean;
    property HasTarget: Boolean;
    property HasXMode, HasYMode, HasWidthMode, HasHeightMode: Boolean;
    property HasX, HasY, HasWidth, HasHeight: Boolean;
    property Target: TXLSXChartLayoutTarget;
    property XMode, YMode, WidthMode, HeightMode: TXLSXChartLayoutMode;
    property X, Y, Width, Height: Double;
    procedure ClearTarget;
    procedure ClearXMode;
    procedure ClearYMode;
    procedure ClearWidthMode;
    procedure ClearHeightMode;
    procedure ClearX;
    procedure ClearY;
    procedure ClearWidth;
    procedure ClearHeight;
    procedure SetPositionAndSize(AX, AY, AWidth, AHeight: Double);
    procedure Assign(Source: TXLSXChartLayout);
    procedure Clear;
  end;

Modèle de coordonnées

X, Y, Width et Height sont normalisés par rapport au rectangle du graphique. En mode bord, X et Y sont les coordonnées gauche et haute, la largeur et la hauteur de bord sont les coordonnées droite et basse ; en mode facteur, X et Y décalent la position automatique, et la largeur et la hauteur de facteur sont des tailles relatives au graphique
Le modèle conserve chaque champ et chaque mode indépendamment. Les omissions d'un fichier chargé restent omises et les jetons numériques invalides survivent à un enregistrement inchangé, tandis que le rendu retombe sur la géométrie automatique
Les mises en page de titres ne peuvent contenir que X et Y et conservent la taille mesurée automatiquement. Les mises en page de zone de traçage et de légende exigent les quatre coordonnées
SetPositionAndSize affecte les quatre valeurs, marque leurs modes présents et active la mise en page en un seul appel. Les setters de coordonnées individuels activent également la mise en page

Modes et cible

xlsxChartLayoutEdgePosition depuis le bord du graphique, utilisée par défaut pour X et Y
xlsxChartLayoutFactorFacteur de taille ou de décalage, utilisé par défaut pour la largeur et la hauteur
TargetRectangle de traçage interne ou externe, significatif uniquement pour PlotAreaLayout

Résolution et conversion

TXLSXChartLayoutResolver résout en une seule passe les rectangles des titres, légendes, zones de traçage internes et externes et titres d'axes, pour la pagination et les sorties SVG, PDF, image, aperçu, impression, viewer et HTML. Une géométrie invalide ou incomplète conserve le rectangle automatique, tandis qu'un rectangle valide hors cadre se déplace vers la position la plus proche dans le graphique sans changer de taille
La conversion ODF mappe la géométrie résolue vers des distances absolues du graphique. Le titre et la légende utilisent svg:x et svg:y, tandis que la zone de traçage utilise aussi svg:width et svg:height. Une légende ODF manuelle omet chart:legend-position car cet attribut prime sur les coordonnées absolues

Exemple

Chart.PlotAreaLayout.Target := xlsxChartLayoutInner;
Chart.PlotAreaLayout.SetPositionAndSize(0.12, 0.18, 0.72, 0.64);
Chart.TitleLayout.SetPositionAndSize(0.1, 0.02, 0.6, 0.12);
Chart.LegendLayout.SetPositionAndSize(0.2, 0.84, 0.6, 0.1);

See also