Dokumentacija HotXLS

ResolveIndexedColor metoda

Razvrstava token indeksirane boje i razrješava konkretnu ARGB vrijednost kada je ponudi paleta radne knjige ili razrješitelj sustavskih boja koji dostavlja pozivatelj

Metoda je dostupna i na IXLSWorkbook i na TXLSXWorkbook i ne mijenja stanje radne knjige

Sintaksa

function ResolveIndexedColor(
  AIndex: Int64;
  ASpace: TXLSIndexedColorSpace;
  out AResolution: TXLSIndexedColorResolution): Boolean; overload;

function ResolveIndexedColor(
  AIndex: Int64;
  ASpace: TXLSIndexedColorSpace;
  ARole: TXLSIndexedColorRole;
  ASystemResolver: TXLSTryResolveSystemColor;
  out AResolution: TXLSIndexedColorResolution): Boolean; overload;

Prostori indeksa

ProstorProtumačenje
xicsPublicColorIndexJavni indeksi palete 1..56 preslikavaju se na slotove BIFF palete 8..63; predznačni ili nepredznačni xlColorIndexAutomatic razvrstava se kao automatski
xicsBiffIcvBIFF indeksi provjeravaju se prema odabranoj ulozi: boje fontova i komentara upotrebljavaju podskup IcvFont, boje okvira i ispuna podskup IcvXF, boje grafikona podskup IcvChart, a opća pretraga cijelu tablicu Icv
xicsOoxmlIndexedOOXML indeksi 0..63 adresiraju indeksiranu paletu, 64 i 65 identificiraju prednji i pozadinski boju sustava, a veće vrijednosti nevažeće su

Rezultat

PoljeZnačenje
KindxickPalette, xickAutomatic, xickSystem ili xickInvalid
RawIndexNepromijenjena ulazna vrijednost
PaletteSlotFizički slot palete s bazom nula, ili -1 kada token nije utemeljen na paleti
SystemColorRoleSemantička sustavska uloga, uključujući tekst prozora, pozadinu prozora, tekst grafikona, pozadinu grafikona, neutralnu boju grafikona ili tekst oblačića
ARGBNormalizirana konkretna boja kada je HasResolvedColor istinit
HasResolvedColorTrue samo kada je RGB vrijednost dalo pretraživanje palete, boja fiksnog formata ili izričit povratni poziv

Povratna vrijednost funkcije podudara se s HasResolvedColor; razvrstavanje ostaje dostupno u AResolution kada funkcija vrati false

Ugovor o sustavnim bojama

Kratko preopterećenje nikada ne čita trenutačnu radnu površinu Windowsa te stoga ostavlja automatske i od okruženja ovisne sustavske boje nerazriješenima

Dugo preopterećenje prosljeđuje i TXLSSystemColorRole i TXLSIndexedColorRole u ASystemResolver, dopuštajući pozivatelju primjenu izričite pravilnika za korisničko sučelje, izvoz ili iscrtavanje bez sučelja

Ispis povratnog poziva mora upotrebljavati redoslijed kanala $AARRGGBB; nul bajt alfe normalizira se u $FF, dok rezultat povratnog poziva false token ostavlja razvrstanim, ali nerazriješenim

Windows COLORREF upotrebljava redoslijed kanala $00BBGGRR i mora se pretvoriti u $AARRGGBB prije nego ga povratni poziv vrati

Nevažeći tokeni nikada ne pozivaju povratni poziv, a fiksni BIFF token neutralne boje grafikona razrješava se u neprozirnu crnu bez povratnog poziva

Primjer

if Workbook.ResolveIndexedColor(12, xicsPublicColorIndex, Resolution) then
  UseArgb(Resolution.ARGB);

if not Workbook.ResolveIndexedColor($40, xicsBiffIcv, Resolution) then
  Assert(Resolution.Kind = xickSystem);

Vidi također