HotXLS Docs

TXLSXChartLayout class

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

xlsxChartLayoutEdgePosition från diagramkanten, används som standard för X och Y
xlsxChartLayoutFactorStorleks- eller förskjutningsfaktor, används som standard för bredd och höjd
TargetInre 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