Define a cor de padrão (fundo) da célula para um dos 12 espaços de cor de tema do Office com um ajuste de matiz opcional. Este é o companheiro de cor de padrão de
Interior.SetThemeColor — utilize-o juntamente com um
Pattern não sólido para renderizar preenchimentos hachurados / pontilhados que aplicam matiz quando o Excel reaplicar o tema do livro. Disponível desde v2.61.0 (backlog de gráfico onda D fase 4)
Sintaxe
procedure SetPatternThemeColor(ThemeIdx: Word; Tint: Double);
Parâmetros
ThemeIdx — espaço de tema com base 0 (0=lt1, 1=dk1, 2=lt2, 3=dk2, 4..9=accent1..6, 10=hlink, 11=foHlink)
Tint — ajuste de iluminação/escurecimento no estilo de especificação no intervalo -1.0 .. +1.0 Codificado em FullColorExt.nTintShade como um inteiro com sinal Q15 no registo XFExt
Observações
São emitidos dois fios para cada chamada para que a célula seja renderizada correctamente tanto no Excel 2007+ como no Excel 2003:
- O registo XF recebe um icv indexado com melhor correspondência para a cor do padrão (caminho do leitor legado)
- O registo XFExt $087D recebe um slot FullColorExt para o extType
fillBg ($0005) com xclrType=3 (tema), xclrValue=ThemeIdx e nTintShade derivado de Tint
A leitura através de
Interior.PatternColor devolve o RGB resolvido (tema + matiz aplicados), pelo que os chamadores vêem sempre um LongWord concreto
Exemplo
Renderiza uma banda de aviso às riscas utilizando os espaços de tema accent1 / accent2 para que as cores sigam o tema do livro
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;
Ver também