HotXLS Belgeleri

ResolveIndexedColor yöntemi

Bir indeksli renk belirtecini sınıflandırır ve çalışma kitabı paleti ya da çağıranın sağladığı bir sistem rengi çözücüsü somut bir ARGB değeri sağladığında bu değeri çözümler

Yöntem hem IXLSWorkbook hem de TXLSXWorkbook üzerinde kullanılabilir ve çalışma kitabı durumunu değiştirmez

Sözdizimi

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;

İndeks uzayları

UzayYorum
xicsPublicColorIndex1..56 arasındaki genel palet indeksleri BIFF palet yuvaları 8..63'e eşlenir; işaretli veya işaretsiz xlColorIndexAutomatic otomatik olarak sınıflandırılır
xicsBiffIcvBIFF indeksleri seçilen role göre doğrulanır: yazı tipi ve yorum renkleri IcvFont alt kümesini, kenarlık ve dolgu renkleri IcvXF alt kümesini, grafik renkleri IcvChart alt kümesini kullanır; genel arama ise Icv tablosunun tamamını kullanır
xicsOoxmlIndexed0..63 arasındaki OOXML indeksleri indeksli paleti adresler, 64 ve 65 sistem ön planını ve arka planını tanımlar, daha büyük değerler geçersizdir

Sonuç

AlanAnlam
KindxickPalette, xickAutomatic, xickSystem veya xickInvalid
RawIndexDeğişmemiş giriş değeri
PaletteSlotSıfır tabanlı fiziksel palet yuvası veya belirteç palet temelli değilse -1
SystemColorRolePencere metni, pencere arka planı, grafik metni, grafik arka planı, grafik nötrü veya araç ipucu metni dahil anlamsal sistem rolü
ARGBHasResolvedColor true olduğunda normalize edilmiş somut renk
HasResolvedColorYalnızca palet araması, sabit bir biçim rengi veya açık geri çağırma bir RGB değeri ürettiğinde True

İşlevin dönüş değeri HasResolvedColor ile eşleşir; işlev false döndürdüğünde sınıflandırma AResolution içinde kullanılabilir kalır

Sistem rengi sözleşmesi

Kısa aşırı yükleme asla geçerli Windows masaüstünü okumaz; bu nedenle otomatik ve ortama bağlı sistem renklerini çözümsüz bırakır

Uzun aşırı yükleme hem TXLSSystemColorRole hem de TXLSIndexedColorRole değerlerini ASystemResolver'a geçirir; böylece çağıran açık bir arayüz, dışa aktarma veya başsız işleme ilkesi uygulayabilir

Geri çağırma çıktısı $AARRGGBB kanal sırasını kullanmalıdır; sıfır alfa baytı $FF olarak normalize edilir, false döndüren bir geri çağırma sonucu ise anlamsal belirteci sınıflandırılmış ancak çözümsüz bırakır

Windows COLORREF değeri $00BBGGRR kanal sırasını kullanır ve geri çağırma onu döndürmeden önce $AARRGGBB biçimine dönüştürülmelidir

Geçersiz belirteçler geri çağırmayı asla çağırmaz; sabit BIFF grafik nötr belirteci geri çağırma olmaksızın opak siyaha çözümlenir

Örnek

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

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

Ayrıca bkz.