ResolveIndexedColor metode
Klassificerer et indekseret farvetoken og opløser en konkret ARGB-værdi, når projektmappens palet eller en kalder-leveret systemfarveopløser giver en
Metoden er tilgængelig på både IXLSWorkbook og TXLSXWorkbook og ændrer ikke projektmappens tilstand
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;
Indeksrum
| Rum | Fortolkning |
|---|---|
xicsPublicColorIndex | Offentlige paletindeks 1..56 afbildes til BIFF-paletslots 8..63; med eller uden fortegn xlColorIndexAutomatic klassificeres som automatisk |
xicsBiffIcv | BIFF-indekser valideres mod den valgte rolle: skrifttype- og kommentarfarver bruger IcvFont-delmængden, kant- og fyldfarver bruger IcvXF-delmængden, diagramfarver bruger IcvChart-delmængden, og generel opslag bruger den komplette den komplette Icv-tabel |
xicsOoxmlIndexed | OOXML-indekser 0..63 adresserer den indekserede palet, 64 og 65 identificerer systemforgrund og -baggrund, og større værdier er ugyldige |
Resultat
| Felt | Betydning |
|---|---|
Kind | xickPalette, xickAutomatic, xickSystem eller xickInvalid |
RawIndex | Den uændrede inputværdi |
PaletteSlot | Det nulbaserede fysiske paletslot eller -1, når tokenet ikke er paletbaseret |
SystemColorRole | Den semantiske systemrolle, herunder vinduets tekst, vinduets baggrund, diagramtekst, diagrambaggrund, diagramneutral eller værktøjstiptekst |
ARGB | Den normaliserede konkrete farve, når HasResolvedColor er true |
HasResolvedColor | True kun, når paletopslag, en fast formatfarve eller det eksplicitte callback har frembragt en RGB-værdi |
Funktionens returværdi matcher HasResolvedColor; klassifikationen forbliver tilgængelig i AResolution, når funktionen returnerer false
Systemfarvekontrakt
Den korte overload læser aldrig det aktuelle Windows-skrivebord og efterlader derfor automatiske og miljøafhængige systemfarver uopløst
Den lange overload sender både TXLSSystemColorRole og TXLSIndexedColorRole til ASystemResolver, så kalderen kan anvende en eksplicit UI-, eksport- eller headless-renderingspolitik
Callback-output skal bruge $AARRGGBB-kanalrækkefølge; en nul-alphabyte normaliseres til $FF, mens et callback-resultat af false efterlader det semantiske token klassificeret men uopløst
En Windows COLORREF bruger $00BBGGRR-kanalrækkefølge og skal konverteres til $AARRGGBB, før callback returnerer den
Ugyldige tokens kalder aldrig callback, og det faste BIFF-diagramneutral-token opløses til uigennemsigtig sort uden callback
Eksempel
if Workbook.ResolveIndexedColor(12, xicsPublicColorIndex, Resolution) then UseArgb(Resolution.ARGB); if not Workbook.ResolveIndexedColor($40, xicsBiffIcv, Resolution) then Assert(Resolution.Kind = xickSystem);