เมธอด 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 เป็น true |
HasResolvedColor | เป็น true เฉพาะเมื่อการค้นหาพาเลต สีรูปแบบคงที่ หรือ callback ที่ระบุชัดเจนสร้างค่า RGB ขึ้น |
ค่าส่งกลับของฟังก์ชันสอดคล้องกับ HasResolvedColor การจัดประเภทยังคงพร้อมใช้งานใน AResolution แม้เมื่อฟังก์ชันส่งกลับ false
สัญญาสีระบบ
โอเวอร์โหลดแบบสั้นไม่อ่านเดสก์ท็อป Windows ปัจจุบันเลย จึงทิ้งสีอัตโนมัติและสีระบบที่ขึ้นกับสภาพแวดล้อมไว้โดยไม่แก้ค่า
โอเวอร์โหลดแบบยาวส่งทั้ง TXLSSystemColorRole และ TXLSIndexedColorRole ไปยัง ASystemResolver เพื่อให้ผู้เรียกใช้นโยบาย UI การส่งออก หรือการเรนเดอร์แบบไม่มีส่วนติดต่อได้อย่างชัดเจน
ผลลัพธ์ของ callback ต้องใช้ลำดับช่องสัญญาณแบบ $AARRGGBB ไบต์อัลฟาที่เป็นศูนย์จะถูกปรับเป็น $FF ส่วนผลลัพธ์ callback ที่เป็น false จะทิ้งโทเคนเชิงความหมายไว้ในสถานะจัดประเภทแล้วแต่ยังไม่แก้ค่า
ค่า COLORREF ของ Windows ใช้ลำดับช่องสัญญาณแบบ $00BBGGRR และต้องแปลงเป็น $AARRGGBB ก่อนที่ callback จะส่งกลับ
โทเคนที่ไม่ถูกต้องจะไม่เรียก callback เด็ดขาด และโทเคนสีกลางของแผนภูมิแบบคงที่ของ BIFF ถูกแก้ค่าเป็นสีดำแบบทึบโดยไม่ต้องใช้ callback
ตัวอย่าง
if Workbook.ResolveIndexedColor(12, xicsPublicColorIndex, Resolution) then UseArgb(Resolution.ARGB); if not Workbook.ResolveIndexedColor($40, xicsBiffIcv, Resolution) then Assert(Resolution.Kind = xickSystem);