HotXLS-dokumentasjon

ResolveIndexedColor metode

Klassifiserer et indeksert fargetoken og løser en konkret ARGB-verdi når arbeidsbokens palett eller en fargesolver for systemfarger levert av den som kaller, gir én

Metoden er tilgjengelig på både IXLSWorkbook og TXLSXWorkbook og endrer ikke arbeidsboktilstanden

Syntaks

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;

Indeksrom

RomTolkning
xicsPublicColorIndexOffentlige palettindekser 1..56 kartlegges til BIFF-palettslotter 8..63; xlColorIndexAutomatic, med eller uten fortegn, klassifiseres som automatisk
xicsBiffIcvBIFF-indekser valideres mot den valgte rollen: skrift- og kommentarfarger bruker IcvFont-delmengden, kantlinje- og fyllfarger bruker IcvXF-delmengden, diagramfarger bruker IcvChart-delmengden, og generelt oppslag bruker hele Icv-tabellen
xicsOoxmlIndexedOOXML-indekser 0..63 adresserer den indekserte paletten, 64 og 65 identifiserer systemforgrunn og -bakgrunn, og større verdier er ugyldige

Resultat

FeltBetydning
KindxickPalette, xickAutomatic, xickSystem eller xickInvalid
RawIndexDen uendrede inndataverdien
PaletteSlotDen nullbaserte fysiske palettslotten, eller -1 når tokenet ikke er palettbasert
SystemColorRoleDen semantiske systemrollen, for eksempel vindustekst, vindusbakgrunn, diagramtekst, diagrambakgrunn, nøytral diagramfarge eller verktøytipstekst
ARGBDen normaliserte konkrete fargen når HasResolvedColor er sann
HasResolvedColorSann bare når palettoppslag, en fast formatfarge eller den eksplisitte Callback ga en RGB-verdi

Funksjonens returverdi samsvarer med HasResolvedColor; klassifiseringen forblir tilgjengelig i AResolution når funksjonen returnerer usann

Kontrakt for systemfarger

Den korte overbelastningen leser aldri det gjeldende Windows-skrivebordet og lar derfor automatiske og miljøavhengige systemfarger forblir uløste

Den lange overbelastningen sender både TXLSSystemColorRole og TXLSIndexedColorRole til ASystemResolver, slik at den som kaller, kan bruke en eksplisitt policy for brukergrensesnitt, eksport eller gjengivelse uten skjerm

Tilbakekningens utdata må bruke $AARRGGBB-kanalrekkefølge; en alfabyte med null normaliseres til $FF, mens et tilbakekingsresultat med usann lar det semantiske tokenet forblir klassifisert, men uløst

En Windows COLORREF bruker $00BBGGRR-kanalrekkefølge og må konverteres til $AARRGGBB før tilbakekningen returnerer den

Ugyldige token utløser aldri tilbakekningen, og det faste BIFF-tokenet for nøytral diagramfarge løses til ugjennomsiktig svart uten tilbakekning

Eksempel

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

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

Se også