ResolveIndexedColor metodi
Luokittelee indeksoidun väritokenin ja ratkaisee konkreettisen ARGB-arvon, kun työkirjan paletti tai kutsujan toimittama järjestelmävärien ratkaisija tarjoaa sellaisen
Metodi on käytettävissä sekä IXLSWorkbook- että TXLSXWorkbook-luokissa, eikä se muuta työkirjan tilaa
Syntaksi
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;
Indeksiavaruudet
| Avaruus | Tulkinta |
|---|---|
xicsPublicColorIndex | Julkiset palettiaindeksit 1..56 kartoittuvat BIFF-palettipaikkoihin 8..63; etumerkillinen tai etumerkitön xlColorIndexAutomatic luokitellaan automaattiseksi |
xicsBiffIcv | BIFF-indeksit validoidaan valittua roolia vasten: fontti- ja kommenttivärit käyttävät IcvFont-osajoukkoa, reunaviiva- ja täyttövärit IcvXF-osajoukkoa, kaaviovärit IcvChart-osajoukkoa, ja yleinen haku käyttää koko Icv-taulukkoa |
xicsOoxmlIndexed | OOXML-indeksit 0..63 osoittavat indeksoidun paletin, 64 ja 65 tunnistavat järjestelmän edusta- ja taustavärit, ja suuremmat arvot ovat kelvottomia |
Tulos
| Kenttä | Merkitys |
|---|---|
Kind | xickPalette, xickAutomatic, xickSystem tai xickInvalid |
RawIndex | Muuttumaton syötearvo |
PaletteSlot | Nollapohjainen fyysinen palettipaikka, tai -1, kun tokeni ei ole palettipohjainen |
SystemColorRole | Semanttinen järjestelmärooli, esimerkiksi ikkunateksti, ikkunatausta, kaavioteksti, kaaviotausta, kaavioneutraali tai työkaluvihjeteksti |
ARGB | Normalisoitu konkreettinen väri, kun HasResolvedColor on tosi |
HasResolvedColor | Tosi vain, kun palettihaku, kiinteä muotoväri tai eksplisiittinen takaisinkutsu tuotti RGB-arvon |
Funktion paluuarvo vastaa HasResolvedColor-arvoa; luokittelu pysyy käytettävissä AResolution-tietueessa, kun funktio palauttaa arvon false
Järjestelmävärisopimus
Lyhyt ylikuormitus ei koskaan lue nykyistä Windows-työpöytää ja jättää siksi automaattiset ja ympäristöstä riippuvaiset järjestelmävärit ratkaisematta
Pitkä ylikuormitus välittää sekä TXLSSystemColorRole- että TXLSIndexedColorRole-arvot ASystemResolver-kutsuun, jolloin kutsuja voi soveltaa eksplisiittistä käyttöliittymä-, vienti- tai headless-renderointikäytäntöä
Takaisinkutsun tulosteen on käytettävä $AARRGGBB-kanavajärjestystä; nolla-alfatavu normalisoidaan arvoksi $FF, kun taas takaisinkutsun false-tulos jättää semanttisen tokenin luokitelluksi mutta ratkaisemattomaksi
Windowsin COLORREF käyttää $00BBGGRR-kanavajärjestystä, ja se on muunnettava muotoon $AARRGGBB ennen kuin takaisinkutsu palauttaa sen
Kelvottomat tokenit eivät koskaan kutsu takaisinkutsua, ja kiinteä BIFF-kaavioneutraali tokeni ratkaisee läpinäkymättömäksi mustaksi ilman takaisinkutsua
Esimerkki
if Workbook.ResolveIndexedColor(12, xicsPublicColorIndex, Resolution) then UseArgb(Resolution.ARGB); if not Workbook.ResolveIndexedColor($40, xicsBiffIcv, Resolution) then Assert(Resolution.Kind = xickSystem);