Metodo ResolveIndexedColor
Classifica un token di colore indicizzato e risolve un valore ARGB concreto quando lo fornisce la tavolozza del workbook o un risolutore di colori di sistema fornito dal chiamante
Il metodo è disponibile sia su IXLSWorkbook sia su TXLSXWorkbook e non modifica lo stato del workbook
Sintassi
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;
Spazi di indice
| Spazio | Interpretazione |
|---|---|
xicsPublicColorIndex | Gli indici pubblici della tavolozza 1..56 corrispondono agli slot della tavolozza BIFF 8..63; xlColorIndexAutomatic con o senza segno viene classificato come automatico |
xicsBiffIcv | Gli indici BIFF vengono validati rispetto al ruolo selezionato: i colori di caratteri e commenti usano il sottoinsieme IcvFont, i colori di bordi e riempimenti il sottoinsieme IcvXF, i colori dei grafici il sottoinsieme IcvChart, e la ricerca generale usa la tabella Icv completa |
xicsOoxmlIndexed | Gli indici OOXML 0..63 indirizzano la tavolozza indicizzata, 64 e 65 identificano primo piano e sfondo di sistema, e i valori maggiori non sono validi |
Risultato
| Campo | Significato |
|---|---|
Kind | xickPalette, xickAutomatic, xickSystem o xickInvalid |
RawIndex | Il valore di input invariato |
PaletteSlot | Lo slot fisico della tavolozza in base zero, oppure -1 quando il token non è basato sulla tavolozza |
SystemColorRole | Il ruolo di sistema semantico, compreso testo della finestra, sfondo della finestra, testo del grafico, sfondo del grafico, neutro del grafico o testo della descrizione comando |
ARGB | Il colore concreto normalizzato quando HasResolvedColor è true |
HasResolvedColor | True solo quando la ricerca nella tavolozza, un colore a formato fisso o il callback esplicito hanno prodotto un valore RGB |
Il valore restituito dalla funzione corrisponde a HasResolvedColor; la classificazione resta disponibile in AResolution quando la funzione restituisce false
Contratto dei colori di sistema
L'overload breve non legge mai il desktop Windows corrente e quindi lascia irrisolti i colori di sistema automatici e dipendenti dall'ambiente
L'overload lungo passa sia TXLSSystemColorRole sia TXLSIndexedColorRole a ASystemResolver, permettendo al chiamante di applicare una politica esplicita di interfaccia utente, esportazione o rendering headless
L'output del callback deve usare l'ordine dei canali $AARRGGBB; un byte alfa pari a zero viene normalizzato a $FF, mentre un risultato false del callback lascia il token semantico classificato ma irrisolto
Un COLORREF Windows usa l'ordine dei canali $00BBGGRR e deve essere convertito in $AARRGGBB prima che il callback lo restituisca
I token non validi non invocano mai il callback, e il token fisso neutro dei grafici BIFF si risolve in nero opaco senza callback
Esempio
if Workbook.ResolveIndexedColor(12, xicsPublicColorIndex, Resolution) then UseArgb(Resolution.ARGB); if not Workbook.ResolveIndexedColor($40, xicsBiffIcv, Resolution) then Assert(Resolution.Kind = xickSystem);