الوحدة: lxHandle
يسترجع فتحة السمة ودرجة اللون التي مررها المستدعي سابقاً إلى
XlsApplyThemeColorToDrawing لفتحة لون رسم معينة. يُرجع
True مع ملء كلا القيمتَين الخارجتَين عندما يحتوي الجدول الجانبي في الذاكرة للمصنف على إدخال لتلك الفتحة؛ يُرجع
False خلاف ذلك
البنية
function XlsGetDrawingThemeColor(
ColorFormat : TXLSColorFormat;
Workbook : TXLSWorkbook;
out ThemeIdx: Word;
out Tint : Double): Boolean;
المعاملات
ColorFormat — فتحة لون الرسم المطلوب الاستعلام عنها (نفس المقبض الذي مُرِّر إلى XlsApplyThemeColorToDrawing)
Workbook — مضيف TXLSWorkbook — الجدول الجانبي يعيش على نسخة المصنف، وليس على فتحة اللون
ThemeIdx (خارج) — فتحة السمة المسجَّلة (قائمة على 0) عندما تُرجع الدالة True؛ 0 خلاف ذلك
Tint (خارج) — درجة اللون المسجَّلة في النطاق -1.0 .. +1.0 عندما تُرجع الدالة True؛ 0 خلاف ذلك
ملاحظات
الجدول الجانبي مُفهرَس بـ (ColorFormat._Container, ColorFormat._Pid) — نفس المفتاح الذي يستخدمه المُعيِّن. تُكتَب دائماً الشكل + معرف الخاصية ذاتهما في نفس الإدخال، لذا تُحلُّ استدعاءات XlsApplyThemeColorToDrawing المتتالية محل بعضها بدلاً من تجميع السجل
نطاق عملية واحدة فقط. الجدول الجانبي غير مُسلسَل على القرص — BIFF8 OfficeArt لا تحتوي على فتحة لون سمة في تنسيق القرص، لذا لا يمكن استمرار نية السمة ذاتها، فقط RGB المحلولة. بعد SaveAs أو Open، ستصبح نسخة TXLSWorkbook الجديدة بجدول جانبي فارغ
استدعاء دالة القراءة بفتحة تم ضبطها عبر ColorFormat.RGB العادية (بدلاً من XlsApplyThemeColorToDrawing) يُرجع أيضاً False — لم تكن هناك نية سمة للتذكر، وRGB هو مصدر الحقيقة
مثال
يمشي على أشكال ورقة العمل الأولى ويكتب فتحة السمة ودرجة اللون في السجل عند وجودها، مع الرجوع إلى RGB الخام خلاف ذلك
var
i : Integer;
Shape : TXLSShape;
ThemeIdx : Word;
Tint : Double;
begin
for i := 0 to Workbook.Worksheets[1].Shapes.Count - 1 do
begin
Shape := Workbook.Worksheets[1].Shapes.Items[i];
if XlsGetDrawingThemeColor(Shape.Fill.ForeColor, Workbook, ThemeIdx, Tint)
then
LogLine(Format('shape %d: theme=%d tint=%.2f', [i, ThemeIdx, Tint]))
else
LogLine(Format('shape %d: rgb=%.8x', [i, Shape.Fill.ForeColor.RGB]));
end;
end;
انظر أيضاً