Método ResolveIndexedColor
Classifica um token de cor indexada e resolve um valor ARGB concreto quando a paleta da pasta de trabalho ou um resolvedor de cores do sistema fornecido pelo chamador fornece um
O método está disponível tanto em IXLSWorkbook quanto em TXLSXWorkbook e não modifica o estado da pasta de trabalho
Sintaxe
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;
Espaços de índice
| Espaço | Interpretação |
|---|---|
xicsPublicColorIndex | Índices públicos da paleta 1..56 mapeiam para slots da paleta BIFF 8..63; xlColorIndexAutomatic, com ou sem sinal, é classificado como automático |
xicsBiffIcv | Índices BIFF são validados em relação à função selecionada: cores de fonte e comentário usam o subconjunto IcvFont, cores de borda e preenchimento usam o subconjunto IcvXF, cores de gráfico usam o subconjunto IcvChart e a pesquisa geral usa a tabela Icv completa |
xicsOoxmlIndexed | Índices OOXML 0..63 endereçam a paleta indexada, 64 e 65 identificam primeiro plano e plano de fundo do sistema, e valores maiores são inválidos |
Resultado
| Campo | Significado |
|---|---|
Kind | xickPalette, xickAutomatic, xickSystem ou xickInvalid |
RawIndex | O valor de entrada inalterado |
PaletteSlot | O slot físico da paleta com base zero, ou -1 quando o token não é baseado em paleta |
SystemColorRole | A função de sistema semântica, incluindo texto da janela, plano de fundo da janela, texto do gráfico, plano de fundo do gráfico, neutro do gráfico ou texto da dica de ferramenta |
ARGB | A cor concreta normalizada quando HasResolvedColor é true |
HasResolvedColor | True somente quando a pesquisa na paleta, uma cor de formato fixo ou o retorno de chamada explícito produziu um valor RGB |
O valor de retorno da função corresponde a HasResolvedColor; a classificação permanece disponível em AResolution quando a função retorna false
Contrato de cores do sistema
A sobrecarga curta nunca lê a área de trabalho atual do Windows e, portanto, deixa as cores automáticas e dependentes do ambiente do sistema sem resolver
A sobrecarga longa passa TXLSSystemColorRole e TXLSIndexedColorRole para ASystemResolver, permitindo que o chamador aplique uma política explícita de interface do usuário, exportação ou renderização sem interface gráfica
A saída do retorno de chamada deve usar a ordem de canais $AARRGGBB; um byte alfa zero é normalizado para $FF, enquanto um resultado false do retorno de chamada deixa o token semântico classificado, mas sem resolver
Um COLORREF do Windows usa a ordem de canais $00BBGGRR e deve ser convertido para $AARRGGBB antes que o retorno de chamada o retorne
Tokens inválidos nunca invocam o retorno de chamada, e o token neutro de gráfico fixo do BIFF é resolvido para preto opaco sem retorno de chamada
Exemplo
if Workbook.ResolveIndexedColor(12, xicsPublicColorIndex, Resolution) then UseArgb(Resolution.ARGB); if not Workbook.ResolveIndexedColor($40, xicsBiffIcv, Resolution) then Assert(Resolution.Kind = xickSystem);