الأسلوب ResolveIndexedColor
يصنّف رمز لون مفهرس ويحل قيمة ARGB ملموسة عندما توفرها لوحة ألوان المصنف أو مُحلّل ألوان نظامية يقدمه المستدعِي
يتوفر هذا الأسلوب في IXLSWorkbook وTXLSXWorkbook معًا، ولا يعدّل حالة المصنف
البنية
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;
فضاءات الفهارس
| الفضاء | التفسير |
|---|---|
xicsPublicColorIndex | تُطابَق فهارس اللوحة العامة من 1 إلى 56 مع خانات لوحة BIFF من 8 إلى 63؛ ويُصنَّف xlColorIndexAutomatic الموجب أو السالب على أنه تلقائي |
xicsBiffIcv | يُتحقق من صحة فهارس BIFF وفق الدور المختار: تستخدم ألوان الخطوط والتعليقات المجموعة الفرعية IcvFont، وتستخدم ألوان الحدود والتعبئة المجموعة الفرعية IcvXF، وتستخدم ألوان المخططات المجموعة الفرعية IcvChart، ويستخدم البحث العام جدول Icv الكامل |
xicsOoxmlIndexed | تخاطب فهارس OOXML من 0 إلى 63 لوحة الألوان المفهرسة، وتحدد القيمتان 64 و65 لون المقدمة والخلفية النظاميين، وما فوق ذلك غير صالح |
النتيجة
| الحقل | المعنى |
|---|---|
Kind | xickPalette أو xickAutomatic أو xickSystem أو xickInvalid |
RawIndex | قيمة الإدخال دون تغيير |
PaletteSlot | خانة اللوحة الفعلية ذات الأساس الصفري، أو -1 عندما لا يكون الرمز قائمًا على اللوحة |
SystemColorRole | الدور النظامي الدلالي، بما في ذلك نص النافذة وخلفية النافذة ونص المخطط وخلفية المخطط واللون المحايد للمخطط ونص التلميح |
ARGB | اللون الملموس المطبَّع عندما تكون HasResolvedColor صحيحة |
HasResolvedColor | صحيح فقط عندما أنتج بحث اللوحة أو لون تنسيق ثابت أو الدالة الردّية الصريحة قيمة RGB |
تطابق القيمة المعادة من الدالة HasResolvedColor؛ ويظل التصنيف متاحًا في AResolution عندما تعيد الدالة القيمة false
عقد الألوان النظامية
لا يقرأ التحميل الزائد القصير مطلقًا سطح مكتب Windows الحالي، ولذا يترك الألوان التلقائية والألوان النظامية المعتمدة على البيئة دون حل
يمرر التحميل الزائد الطويل كلًا من TXLSSystemColorRole وTXLSIndexedColorRole إلى ASystemResolver، بما يتيح للمستدعِي تطبيق سياسة صريحة لواجهة المستخدم أو التصدير أو العرض بلا واجهة
يجب أن يستخدم خرج الدالة الردّية ترتيب القنوات $AARRGGBB؛ ويُطبَّع بايت ألفا الصفري إلى $FF، بينما تترك نتيجة الدالة الردّية false الرمز الدلالي مصنفًا لكن دون حل
تستخدم قيمة COLORREF في Windows ترتيب القنوات $00BBGGRR ويجب تحويلها إلى $AARRGGBB قبل أن تعيدها الدالة الردّية
لا تستدعي الرموز غير الصالحة الدالة الردّية مطلقًا، وينحل رمز اللون المحايد للمخططات الثابت بتنسيق BIFF إلى الأسود المعتم دون دالة ردّية
مثال
if Workbook.ResolveIndexedColor(12, xicsPublicColorIndex, Resolution) then UseArgb(Resolution.ARGB); if not Workbook.ResolveIndexedColor($40, xicsBiffIcv, Resolution) then Assert(Resolution.Kind = xickSystem);