Définit la couleur de motif (arrière-plan) de la cellule sur l'un des 12 emplacements de couleurs du thème Office, avec un ajustement de teinte facultatif. C'est l'équivalent couleur de motif de
Interior.SetThemeColor — use it together with a non-solid
Pattern pour générer des remplissages hachurés / pointillés qui se re-teintent quand Excel réapplique le thème du classeur. Disponible depuis la v2.61.0 (vague D du backlog graphique, phase 4)
Syntaxe
procedure SetPatternThemeColor(ThemeIdx: Word; Tint: Double);
Paramètres
ThemeIdx — 0-based theme slot
(0=lt1, 1=dk1, 2=lt2, 3=dk2, 4..9=accent1..6, 10=hlink, 11=foHlink)
Tint — spec-style lighter/darker adjustment in the range -1.0 .. +1.0
Encoded into FullColorExt.nTintShade as a Q15 signed integer on the XFExt
record
Remarques
Deux enregistrements sont émis à chaque appel pour que la cellule s'affiche correctement aussi bien dans Excel 2007+ que dans Excel 2003 :
- L'enregistrement XF reçoit un icv indexé au meilleur match pour la couleur de motif (chemin de lecture hérité)
- The XFExt $087D record gets a FullColorExt slot for the
fillBg extType ($0005) with xclrType=3 (theme), xclrValue=ThemeIdx, and nTintShade derived from Tint
Reading back via
Interior.PatternColor renvoie le RGB résolu (thème + teinte appliqués), si bien que les appelants voient toujours un LongWord concret
Exemple
Affiche une bande d'avertissement rayée en utilisant les emplacements de thème accent1 / accent2, si bien que les couleurs suivent le thème du classeur
var
Stripes: IXLSRange;
begin
Stripes := Workbook.Sheets[1].Range['B2', 'B10'];
Stripes.Interior.Pattern := xlPatternGray25;
Stripes.Interior.SetThemeColor(4, 0.4); // fill foreground (accent1, lighter)
Stripes.Interior.SetPatternThemeColor(5, - 0.25); // pattern color (accent2, darker)
Workbook.SaveAs('PatternThemeFills.xls', xlExcel97);
end;
Voir aussi