HotXLS dokumentáció

ResolveIndexedColor metódus

Osztályoz egy indexelt színtokent, és konkrét ARGB értéket old fel, ha azt a munkafüzet palettája vagy a hívó által szolgáltatott rendszerszín-feloldó biztosítja

A metódus az IXLSWorkbook és a TXLSXWorkbook esetében egyaránt elérhető, és nem módosítja a munkafüzet állapotát

Szintaxis

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;

Indexterek

TérÉrtelmezés
xicsPublicColorIndexAz 1..56 nyilvános palettaindexek a 8..63 BIFF palettahelyekre képeződnek le; az előjeles vagy előjel nélküli xlColorIndexAutomatic automatikusként osztályozódik
xicsBiffIcvA BIFF indexek a kiválasztott szerep alapján érvényesülnek: a betűtípus- és megjegyzésszínek az IcvFont részhalmazt, a keret- és kitöltésszínek az IcvXF részhalmazt, a diagramszínek az IcvChart részhalmazt használják, az általános keresés pedig a teljes Icv táblát
xicsOoxmlIndexedA 0..63 OOXML indexek az indexelt palettát címzik, a 64 és 65 a rendszer előtér- és háttérszínét azonosítja, a nagyobb értékek pedig érvénytelenek

Eredmény

MezőJelentés
KindxickPalette, xickAutomatic, xickSystem vagy xickInvalid
RawIndexA változatlan bemeneti érték
PaletteSlotA nullától induló fizikai palettahely, vagy -1, ha a token nem palettaalapú
SystemColorRoleA szemantikai rendszerszerep, ideértve az ablak szövegét, az ablak hátterét, a diagram szövegét, a diagram hátterét, a diagram semleges színét vagy az elemleírás szövegét
ARGBA normalizált konkrét szín, ha a HasResolvedColor true
HasResolvedColorCsak akkor true, ha a palettakeresés, egy rögzített formátumszín vagy az explicit visszahívás RGB értéket adott

A függvény visszatérési értéke egyezik a HasResolvedColor értékkel; az osztályozás akkor is elérhető marad az AResolution-ben, ha a függvény false értéket ad vissza

Rendszerszín-szerződés

A rövidebb túlterhelés soha nem olvassa az aktuális Windows asztalt, ezért az automatikus és a környezettől függő rendszerszíneket feloldatlanul hagyja

A hosszabb túlterhelés mind a TXLSSystemColorRole, mind a TXLSIndexedColorRole értéket átadja az ASystemResolver-nek, lehetővé téve a hívó számára explicit UI-, export- vagy monitor nélküli megjelenítési szabályzat alkalmazását

A visszahívás kimenetének $AARRGGBB csatornasorrendet kell használnia; a nulla alfa-bájt $FF-re normalizálódik, míg a false visszahívási eredmény a szemantikai tokent osztályozva hagyja, de feloldatlanul

A Windows COLORREF $00BBGGRR csatornasorrendet használ, és a visszahívás visszaadása előtt $AARRGGBB-re kell konvertálni

Az érvénytelen tokenek soha nem hívják meg a visszahívást, és a rögzített BIFF diagramsemleges token visszahívás nélkül átlátszatlan feketére oldódik fel

Példa

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

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

Lásd még