Docs HotXLS

Méthode ResolveIndexedColor

Classe un jeton de couleur indexée et résout une valeur ARGB concrète lorsque la palette du classeur ou un résolveur de couleurs système fourni par l'appelant en fournit une

La méthode est disponible sur IXLSWorkbook et TXLSXWorkbook et ne modifie pas l'état du classeur

Syntaxe

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;

Espaces d'index

EspaceInterprétation
xicsPublicColorIndexLes index publics de palette 1..56 correspondent aux emplacements de palette BIFF 8..63 ; xlColorIndexAutomatic signé ou non signé est classé comme automatique
xicsBiffIcvLes index BIFF sont validés par rapport au rôle sélectionné : les couleurs de polices et de commentaires utilisent le sous-ensemble IcvFont, les couleurs de bordures et de remplissages le sous-ensemble IcvXF, les couleurs de graphiques le sous-ensemble IcvChart, et la recherche générale utilise la table Icv complète
xicsOoxmlIndexedLes index OOXML 0..63 adressent la palette indexée, 64 et 65 identifient le premier plan et l'arrière-plan système, et les valeurs supérieures sont invalides

Résultat

ChampSignification
KindxickPalette, xickAutomatic, xickSystem ou xickInvalid
RawIndexLa valeur d'entrée inchangée
PaletteSlotL'emplacement physique de palette en base zéro, ou -1 lorsque le jeton n'est pas basé sur la palette
SystemColorRoleLe rôle système sémantique, notamment texte de fenêtre, arrière-plan de fenêtre, texte de graphique, arrière-plan de graphique, neutre de graphique ou texte d'info-bulle
ARGBLa couleur concrète normalisée lorsque HasResolvedColor est true
HasResolvedColorTrue uniquement lorsque la recherche dans la palette, une couleur à format fixe ou le callback explicite a produit une valeur RGB

La valeur de retour de la fonction correspond à HasResolvedColor ; la classification reste disponible dans AResolution lorsque la fonction renvoie false

Contrat des couleurs système

La surcharge courte ne lit jamais le bureau Windows courant et laisse donc les couleurs système automatiques et dépendantes de l'environnement non résolues

La surcharge longue transmet à la fois TXLSSystemColorRole et TXLSIndexedColorRole à ASystemResolver, permettant à l'appelant d'appliquer une stratégie explicite d'interface utilisateur, d'exportation ou de rendu headless

La sortie du callback doit utiliser l'ordre des canaux $AARRGGBB ; un octet alpha nul est normalisé à $FF, tandis qu'un résultat de callback false laisse le jeton sémantique classé mais non résolu

Un COLORREF Windows utilise l'ordre des canaux $00BBGGRR et doit être converti en $AARRGGBB avant que le callback ne le renvoie

Les jetons invalides n'invoquent jamais le callback, et le jeton fixe neutre de graphique BIFF se résout en noir opaque sans callback

Exemple

if Workbook.ResolveIndexedColor(12, xicsPublicColorIndex, Resolution) then
  UseArgb(Resolution.ARGB);

if not Workbook.ResolveIndexedColor($40, xicsBiffIcv, Resolution) then
  Assert(Resolution.Kind = xickSystem);

Voir aussi