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 |
|---|---|
xicsPublicColorIndex | Publiczne indeksy palety 1..56 odpowiadają slotom palety BIFF 8..63; ze znakiem lub bez znaku xlColorIndexAutomatic jest klasyfikowany jako automatyczny |
xicsBiffIcv | Indeksy 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 |
xicsOoxmlIndexed | Indeksy 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
| Pole | Znaczenie |
|---|---|
Kind | xickPalette, xickAutomatic, xickSystem lub xickInvalid |
RawIndex | Niezmieniona wartość wejściowa |
PaletteSlot | Fizyczny slot palety numerowany od zera lub -1, gdy token nie jest powiązany z paletą |
SystemColorRole | Semantyczna rola systemowa: tekst okna, tło okna, tekst wykresu, tło wykresu, neutralny kolor wykresu lub tekst dymka podpowiedzi |
ARGB | Znormalizowany konkretny kolor, gdy HasResolvedColor jest prawdziwe |
HasResolvedColor | Prawdziwe 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);