TXLSXChartLayout gemmer et manuel layout, der bevarer felterne, til plotområder, diagram- og aksetitler samt legender
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;
Coordinate model
X, Y, Width og Height normaliseres mod diagramrektanglet. Edge X og Y er venstre og øverste koordinater, edge-bredde og -højde er højre og nederste koordinater, faktor X og Y forskyder den automatiske position, og faktorbredde og -højde er diagramrelative størrelser
Modellen bevarer hvert felt og hver tilstand uafhængigt. Indlæste udeladelser forbliver udeladt, og ugyldige numeriske tokens overlever en uændret gemning, mens renderingen falder tilbage til automatisk geometri
Titellayouts må kun indeholde X og Y og beholder den automatisk målte størrelse. Layouts til plotområde og legend kræver alle fire koordinater
SetPositionAndSize tildeler alle fire værdier, markerer deres tilstande som til stede og aktiverer layoutet i ét kald. De enkelte koordinat-settere aktiverer også layoutet
Modes and target
| xlsxChartLayoutEdge | Position fra diagramkanten, bruges som standard til X og Y |
| xlsxChartLayoutFactor | Størrelses- eller forskydningsfaktor, bruges som standard til bredde og højde |
| Target | Indre eller ydre plotrektangel og kun meningsfuldt for PlotAreaLayout |
Opløsning og konvertering
TXLSXChartLayoutResolver opløser rektanglerne for titel, legend, indre og ydre plotområde samt aksetitler én gang til paginering, SVG, PDF, billede, forhåndsvisning, udskrift, viewer og HTML-output. Ugyldig eller ufuldstændig geometri beholder det automatiske rektangel, mens et gyldigt rektangel uden for diagrammet flyttes til den nærmeste position i diagrammet uden at ændre størrelsen
ODF-konverteringen afbilleder den opløste geometri til absolutte diagramafstande. Titel og legend bruger svg:x og svg:y, mens plotområdet også bruger svg:width og svg:height. En manuel ODF-legend udelader chart:legend-position, fordi den attribut tilsidesætter absolutte koordinater
Example
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