TXLSXChartLayout lagrar en fältbevarande manuell layout för plotområden, diagram- eller axeltitlar samt diagramförklaringar
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;
Koordinatmodell
X, Y, Width och Height normaliseras mot diagramrektangeln Kantlägen för X och Y är vänster- och toppkoordinater, kantbredd och kanthöjd är höger- och bottenkoordinater, faktor-X och faktor-Y förskjuter den automatiska positionen, och faktorbredd och faktorhöjd är diagramrelativa storlekar
Modellen behåller varje fält och varje läge oberoende Utelämnanden i inlästa filer förblir utelämnade, och ogiltiga numeriska token överlever en oförändrad sparning medan renderingen faller tillbaka på automatisk geometri
Titellayouter får innehålla bara X och Y och behåller den automatiskt uppmätta storleken Layouter för plotområde och diagramförklaring kräver alla fyra koordinater
SetPositionAndSize tilldelar alla fyra värden, markerar deras lägen som befintliga och aktiverar layouten i ett anrop Enskilda koordinatsättare aktiverar också layouten
Lägen och mål
| xlsxChartLayoutEdge | Position från diagramkanten, används som standard för X och Y |
| xlsxChartLayoutFactor | Storleks- eller förskjutningsfaktor, används som standard för bredd och höjd |
| Target | Inre eller yttre plotrektangel, meningsfull endast för PlotAreaLayout |
Upplösning och konvertering
TXLSXChartLayoutResolver slår ut rektanglarna för titel, diagramförklaring, inre och yttre plotområde samt axeltitlar en gång för paginering, SVG, PDF, bild, förhandsgranskning, utskrift, viewer och HTML-utdata Ogiltig eller ofullständig geometri behåller den automatiska rektangeln, medan en giltig rektangel utanför diagrammet flyttas till närmaste position inuti diagrammet utan storleksändring
ODF-konverteringen mappar upplöst geometri till absoluta diagramavstånd Titel och diagramförklaring använder svg:x och svg:y, medan plotområdet även använder svg:width och svg:height En manuell ODF-diagramförklaring utelämnar chart:legend-position eftersom det attributet åsidosätter absoluta koordinater
Exempel
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