Dokumentacja HotXLS

Metoda ResolveIndexedColor

Klasyfikuje token koloru indeksowanego i rozwiązuje konkretną wartość ARGB, gdy dostarcza jej paleta skoroszytu lub przekazany przez wywołującego rozwiązywacz kolorów systemowych

Metoda jest dostępna zarówno w IXLSWorkbook, jak i w TXLSXWorkbook i nie modyfikuje stanu skoroszytu

Składnia

function ResolveIndexedColor(
  AIndex: Int64;
  ASpace: TXLSIndexedColorSpace;
  out AResolution: TXLSIndexedColorResolution): Boolean; overload;

function ResolveIndexedColor(
  AIndex: Int64;
  ASpace: TXLSIndexedColorSpace;
  ARole: TXLSIndexedColorRole;
  ASystemResolver: TXLSTryResolveSystemColor;
  out AResolution: TXLSIndexedColorResolution): Boolean; overload;

Przestrzenie indeksów

PrzestrzeńInterpretacja
xicsPublicColorIndexPubliczne indeksy palety 1..56 odpowiadają slotom palety BIFF 8..63; ze znakiem lub bez znaku xlColorIndexAutomatic jest klasyfikowany jako automatyczny
xicsBiffIcvIndeksy BIFF są walidowane względem wybranej roli: kolory czcionek i komentarzy używają podzbioru IcvFont, kolory obramowań i wypełnień podzbioru IcvXF, kolory wykresów podzbioru IcvChart, a wyszukiwanie ogólne kompletnej tabeli Icv
xicsOoxmlIndexedIndeksy OOXML 0..63 adresują indeksowaną paletę, 64 i 65 identyfikują systemowe kolory tekstu oraz tła, a większe wartości są nieprawidłowe

Wynik

PoleZnaczenie
KindxickPalette, xickAutomatic, xickSystem lub xickInvalid
RawIndexNiezmieniona wartość wejściowa
PaletteSlotFizyczny slot palety numerowany od zera lub -1, gdy token nie jest powiązany z paletą
SystemColorRoleSemantyczna rola systemowa: tekst okna, tło okna, tekst wykresu, tło wykresu, neutralny kolor wykresu lub tekst dymka podpowiedzi
ARGBZnormalizowany konkretny kolor, gdy HasResolvedColor jest prawdziwe
HasResolvedColorPrawdziwe tylko wtedy, gdy wyszukiwanie w palecie, stały kolor formatu lub jawne wywołanie zwrotne dało wartość RGB

Zwracana przez funkcję wartość odpowiada HasResolvedColor; klasyfikacja pozostaje dostępna w AResolution, gdy funkcja zwraca false

Kontrakt kolorów systemowych

Krótkie przeciążenie nigdy nie odczytuje bieżącego pulpitu Windows i dlatego pozostawia automatyczne oraz zależne od środowiska kolory systemowe nierozwiązane

Długie przeciążenie przekazuje zarówno TXLSSystemColorRole, jak i TXLSIndexedColorRole do ASystemResolver, pozwalając wywołującemu zastosować jawną politykę interfejsu użytkownika, eksportu lub renderowania bez interfejsu

Wyjście wywołania zwrotnego musi używać kolejności kanałów $AARRGGBB; zerowy bajt alfa jest normalizowany do $FF, natomiast wynik wywołania zwrotnego false pozostawia token semantyczny sklasyfikowany, ale nierozwiązany

Windows COLORREF używa kolejności kanałów $00BBGGRR i musi zostać przekonwertowany na $AARRGGBB, zanim wywołanie zwrotne go zwróci

Nieprawidłowe tokeny nigdy nie wywołują wywołania zwrotnego, a stały neutralny token wykresów BIFF rozwiązuje się do nieprzezroczystej czerni bez wywołania zwrotnego

Przykład

if Workbook.ResolveIndexedColor(12, xicsPublicColorIndex, Resolution) then
  UseArgb(Resolution.ARGB);

if not Workbook.ResolveIndexedColor($40, xicsBiffIcv, Resolution) then
  Assert(Resolution.Kind = xickSystem);

Zobacz także