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
| Rom | Tolkning |
|---|---|
xicsPublicColorIndex | Offentlige palettindekser 1..56 kartlegges til BIFF-palettslotter 8..63; xlColorIndexAutomatic, med eller uten fortegn, klassifiseres som automatisk |
xicsBiffIcv | BIFF-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 |
xicsOoxmlIndexed | OOXML-indekser 0..63 adresserer den indekserte paletten, 64 og 65 identifiserer systemforgrunn og -bakgrunn, og større verdier er ugyldige |
Resultat
| Felt | Betydning |
|---|---|
Kind | xickPalette, xickAutomatic, xickSystem eller xickInvalid |
RawIndex | Den uendrede inndataverdien |
PaletteSlot | Den nullbaserte fysiske palettslotten, eller -1 når tokenet ikke er palettbasert |
SystemColorRole | Den semantiske systemrollen, for eksempel vindustekst, vindusbakgrunn, diagramtekst, diagrambakgrunn, nøytral diagramfarge eller verktøytipstekst |
ARGB | Den normaliserte konkrete fargen når HasResolvedColor er sann |
HasResolvedColor | Sann 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);