Imposta il colore del motivo (sfondo) della cella su uno dei 12 slot di colore del tema Office con una regolazione facoltativa della tinta. È la controparte per il colore del motivo di
Interior.SetThemeColor — use it together with a non-solid
Pattern per visualizzare riempimenti a tratteggio / punteggiato che si ritintano quando Excel riapplica il tema della cartella di lavoro. Disponibile dalla v2.61.0 (chart backlog wave D phase 4)
Sintassi
procedure SetPatternThemeColor(ThemeIdx: Word; Tint: Double);
Parametri
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
Osservazioni
Two wires are emitted for every call so the cell renders correctly in both Excel 2007+ e Excel 2003:
- Il record XF riceve un icv indicizzato con la corrispondenza più vicina per il colore del motivo (percorso reader legacy)
- The XFExt $087D record gets a FullColorExt slot for the
fillBg extType ($0005) with xclrType=3 (theme), xclrValue=ThemeIdx, e nTintShade derived from Tint
Reading back via
Interior.PatternColor restituisce il valore RGB risolto (tema + tinta applicati), così i chiamanti vedono sempre un LongWord concreto
Esempio
Renderizza una banda di avviso a strisce usando gli slot tema accent1 / accent2, così i colori seguono il tema della cartella di lavoro
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;
Vedere also