HotXLS-dokumentaatio

TXLSXChartLayout class

TXLSXChartLayout tallentaa kenttätietoisen manuaalisen asettelun piirtoalueille sekä kaavion tai akselien otsikoille ja legendoille

Ilmoitus

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;

Koordinaattimalli

X, Y, Width ja Height normalisoidaan kaavion suorakulmioon. Edge-tyyppinen X ja Y on vasemman yläkulman koordinaatti, edge-tyyppinen leveys ja korkeus oikean alakulman koordinaatti, factor-tyyppinen X ja Y siirtää automaattista sijaintia, ja factor-tyyppinen leveys ja korkeus on kaavioon suhteutettu koko
Malli säilyttää jokaisen kentän ja tilan toisistaan riippumatta. Ladattaessa puuttuneet arvot pysyvät poissaolevina, ja numeerisesti virheelliset arvot säilyvät muuttumattomina tallennuksessa, kun taas renderöinti käyttää fallbackina automaattista geometriaa
Otsikoiden asettelut voivat sisältää vain X- ja Y-arvon ja säilyttävät automaattisesti mitatun koon. Piirtoalueen ja legendan asettelut vaativat kaikki neljä koordinaattia
SetPositionAndSize asettaa kaikki neljä arvoa, merkitsee niiden tilat läsnäoleviksi ja ottaa asettelun käyttöön yhdellä kutsulla. Yksittäiset koordinaattien asettajat ottavat myös asettelun käyttöön

Tilat ja kohde

xlsxChartLayoutEdgeSijainti kaavion reunasta; oletuksena X- ja Y-suunnissa
xlsxChartLayoutFactorKoon tai siirtymän kerroin; oletuksena leveydessä ja korkeudessa
TargetSisäinen tai ulkoinen piirtosuorakulmio, merkityksellinen vain PlotAreaLayout-ominaisuudelle

Ratkaisu ja muunnos

TXLSXChartLayoutResolver ratkaisee otsikon, legendan, sisäisen ja ulkoisen piirtoalueen sekä akseliotsikoiden suorakulmiot kerran paginointia sekä SVG-, PDF-, kuva-, esikatselu-, tulostus-, viewer- ja HTML-tuottoa varten. Virheellinen tai puutteellinen geometria säilyttää automaattisen suorakulmion, kun taas kelvollinen rajojen ulkopuolelle jäävä suorakulmio siirtyy lähimpään kaavion sisäiseen sijaintiin muuttamatta kokoaan
ODF-muunnos kuvaa ratkaistun geometrian absoluuttisiksi kaavion etäisyyksiksi. Otsikko ja legenda käyttävät svg:x- ja svg:y-attribuutteja, ja piirtoalue lisäksi svg:width- ja svg:height-attribuutteja. Manuaalinen ODF-legenda jättää chart:legend-position-attribuutin pois, koska kyseinen attribuutti ohittaa absoluuttiset koordinaatit

Esimerkki

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);

Katso myös