Ustawia kolor wzoru (tło) komórki do jednego z 12 slotów kolorów motywu Office z opcjonalnym dostosowaniem odcienia. Jest to towarzysz koloru wzoru dla
Interior.SetThemeColor — użyj go razem z niestałym
Pattern, aby renderować wypełnienia kreskowane/kropkowane, które zmieniają odcień, gdy Excel ponownie stosuje motyw skoroszytu. Dostępne od v2.61.0 (faza 4 paczki D wykresu)
Składnia
procedure SetPatternThemeColor(ThemeIdx: Word; Tint: Double);
Parametry
ThemeIdx — slot motywu od zera
(0=lt1, 1=dk1, 2=lt2, 3=dk2, 4..9=accent1..6, 10=hlink, 11=foHlink)
Tint — dostosowanie jaśniejszy/ciemniejszy w stylu spec w zakresie -1.0 .. +1.0
Zakodowane w FullColorExt.nTintShade jako 15-bitowa liczba całkowita ze znakiem w rekordzie XFExt
Uwagi
Przy każdym wywołaniu emitowane są dwa sygnały, dzięki czemu komórka renderuje się poprawnie zarówno w Excel 2007+, jak i Excel 2003:
- Rekord XF otrzymuje indeksowany icv najlepszego dopasowania dla koloru wzoru (stara ścieżka odczytu)
- Rekord XFExt $087D otrzymuje slot FullColorExt dla typu rozszerzenia
fillBg ($0005) z xclrType=3 (motyw), xclrValue=ThemeIdx i nTintShade wyprowadzonym z Tint
Odczyt z powrotem przez
Interior.PatternColor zwraca rozwiązany RGB (motyw + zastosowany odcień), więc wywołujący zawsze widzą konkretny LongWord
Przykład
Renderuje prążkowane pasmo ostrzeżeń używając slotów motywu accent1 / accent2, dzięki czemu kolory śledzą motyw skoroszytu
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;
Zobacz też