Τεκμηρίωση HotXLS

Μέθοδος ResolveIndexedColor

Ταξινομεί ένα token ευρετηριασμένου χρώματος και επιλύει μια συγκεκριμένη τιμή ARGB όταν η παλέτα του βιβλίου εργασίας ή ένας resolver χρωμάτων συστήματος που παρέχει ο καλών παρέχει μία

Η μέθοδος είναι διαθέσιμη τόσο στο 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 ταυτοποιούν τα χρώματα προσκηνίου και παρασκηνίου συστήματος, και μεγαλύτερες τιμές είναι άκυρες

Αποτέλεσμα

ΠεδίοΣημασία
KindxickPalette, xickAutomatic, xickSystem ή xickInvalid
RawIndexΗ αμετάβλητη τιμή εισόδου
PaletteSlotΗ φυσική υποδοχή παλέτας με βάση το μηδέν, ή -1 όταν το token δεν βασίζεται σε παλέτα
SystemColorRoleΟ σημασιολογικός ρόλος συστήματος, όπως κείμενο παραθύρου, φόντο παραθύρου, κείμενο γραφήματος, φόντο γραφήματος, ουδέτερο γραφήματος ή κείμενο tooltip
ARGBΤο κανονικοποιημένο συγκεκριμένο χρώμα όταν το HasResolvedColor είναι true
HasResolvedColorTrue μόνο όταν η αναζήτηση στην παλέτα, ένα χρώμα σταθερής μορφής ή η ρητή επανάκληση παρήγαγε τιμή RGB

Η τιμή επιστροφής της συνάρτησης ταυτίζεται με το HasResolvedColor· η ταξινόμηση παραμένει διαθέσιμη στο AResolution όταν η συνάρτηση επιστρέφει false

Σύμβαση χρωμάτων συστήματος

Η σύντομη υπερφόρτωση δεν διαβάζει ποτέ την τρέχουσα επιφάνεια εργασίας των Windows και άρα αφήνει τα αυτόματα και εξαρτώμενα από το περιβάλλον χρώματα συστήματος άλυτα

Η εκτεταμένη υπερφόρτωση περνά τόσο το TXLSSystemColorRole όσο και το TXLSIndexedColorRole στο ASystemResolver, επιτρέποντας στον καλούντα να εφαρμόσει ρητή πολιτική UI, εξαγωγής ή headless απόδοσης

Η έξοδος της επανάκλησης πρέπει να χρησιμοποιεί σειρά καναλιών $AARRGGBB· ένα byte άλφα μηδέν κανονικοποιείται σε $FF, ενώ ένα αποτέλεσμα επανάκλησης false αφήνει το σημασιολογικό token ταξινομημένο αλλά άλυτο

Ένα COLORREF των Windows χρησιμοποιεί σειρά καναλιών $00BBGGRR και πρέπει να μετατραπεί σε $AARRGGBB πριν η επανάκληση το επιστρέψει

Τα άκυρα tokens δεν καλούν ποτέ την επανάκληση, και το σταθερό token ουδέτερου χρώματος γραφήματος του BIFF επιλύεται σε αδιαφανές μαύρο χωρίς επανάκληση

Παράδειγμα

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

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

Δείτε επίσης