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
| xlsxChartLayoutEdge | Position depuis le bord du graphique, utilisée par défaut pour X et Y |
| xlsxChartLayoutFactor | Facteur de taille ou de décalage, utilisé par défaut pour la largeur et la hauteur |
| Target | Rectangle 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