TXLSXChartLayout memorizza un layout manuale normalizzato completo per aree grafico, titoli del grafico o degli assi e legende
Declaration
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;
Modello di coordinate
X, Y, Width e Height sono normalizzati rispetto al rettangolo del grafico. In modalità edge, X e Y sono le coordinate del lato sinistro e alto, la larghezza e l'altezza edge sono le coordinate del lato destro e basso, X e Y in modalità factor spostano la posizione automatica, e larghezza e altezza in modalità factor sono dimensioni relative al grafico
Il modello conserva ogni campo e ogni modalità in modo indipendente. Le omissioni caricate restano tali e i token numerici non validi sopravvivono a un salvataggio invariato, mentre il rendering ricade sulla geometria automatica
I layout del titolo possono contenere solo X e Y e conservano la dimensione misurata automaticamente. I layout dell'area grafico e della legenda richiedono tutte e quattro le coordinate
SetPositionAndSize assegna tutti e quattro i valori, marca le relative modalità come presenti e abilita il layout in una sola chiamata. Anche i singoli setter di coordinata abilitano il layout
Modalità e destinazione
| xlsxChartLayoutEdge | Posizione dal bordo del grafico, usata per default per X e Y |
| xlsxChartLayoutFactor | Fattore di dimensione o di offset, usato per default per larghezza e altezza |
| Target | Rettangolo del grafico interno o esterno, significativo solo per PlotAreaLayout |
Risoluzione e conversione
TXLSXChartLayoutResolver risolve i rettangoli di titolo, legenda, area grafico interna ed esterna e titoli degli assi una sola volta per output di paginazione, SVG, PDF, immagini, anteprima, stampa, viewer e HTML. Una geometria non valida o incompleta mantiene il rettangolo automatico, mentre un rettangolo valido fuori dai limiti si sposta nella posizione più vicina dentro il grafico senza cambiare dimensione
La conversione ODF mappa la geometria risolta in distanze assolute del grafico. Titolo e legenda usano svg:x e svg:y, mentre l'area grafico usa anche svg:width e svg:height. Una legenda ODF manuale omette chart:legend-position perché quell'attributo ha la precedenza sulle coordinate assolute
Esempio
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