Establece el color de patrón (fondo) de la celda en uno de los 12 slots de color de tema de Office con un ajuste de tono opcional. Es el complemento del patrón de
Interior.SetThemeColor — úselo junto con un
Pattern no sólido para representar rellenos de trama/punteados que vuelven a aplicar el tono cuando Excel reaplicar el tema del libro. Disponible desde v2.61.0 (ola D de la lista de espera de gráficos, fase 4)
Sintaxis
procedure SetPatternThemeColor(ThemeIdx: Word; Tint: Double);
Parámetros
ThemeIdx — slot de tema de base 0
(0=lt1, 1=dk1, 2=lt2, 3=dk2, 4..9=accent1..6, 10=hlink, 11=foHlink)
Tint — ajuste de aclarado/oscurecido en el rango -1,0 .. +1,0
Codificado en FullColorExt.nTintShade como entero con signo Q15 en el registro XFExt
Observaciones
Se emiten dos cables por cada llamada para que la celda se represente correctamente tanto en Excel 2007+ como en Excel 2003:
- El registro XF obtiene un icv indexado de mejor coincidencia para el color del patrón (ruta de lector heredada)
- El registro XFExt $087D obtiene una ranura FullColorExt para el extType
fillBg ($0005) con xclrType=3 (tema), xclrValue=ThemeIdx y nTintShade derivado de Tint
La lectura mediante
Interior.PatternColor devuelve el RGB resuelto (tema + tono aplicados), de modo que los llamadores siempre ven un LongWord concreto
Ejemplo
Representa una banda de advertencia rayada usando los slots de tema accent1 / accent2 para que los colores sigan el tema del libro
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;
Véase también