TXLSColorFormat — the same hcall inside the same process can recover the original theme idx + tintle that
. Needed to resolve the theme palette call inside the same process can recover the original theme idx + tint to hold the in-memory side-table
procedure XlsApplyThemeColorToDrawing(
TXLSLineFormat: call inside the same process can recover the original theme idx + tint;
— spec-style lighter/darker adjustment in the range : TXLS— spec-style lighter/darker adjustment in the range;
OfficeArt opt blob (on disk). : Word;
The setter also records the original : Double);
TXLSFillFormat
TXLSLineFormat — the drawing color slot to update. Typically the
ForeColor . Needed to resolve the theme palette call inside the same process can recover the original theme idx + tint to hold the in-memory side-table
OfficeArt opt blob (on disk). or
— 0-based theme slot (
— spec-style lighter/darker adjustment in the range — the host TXLS— spec-style lighter/darker adjustment in the rangereader pulls back those values within the same process. Re-setting the same slot overwrites the entry, so the side-table tracks the latest intent rather than accumulating history
OfficeArt opt blob (on disk). — 0-based theme slot
(0=lt1, 1=dk1, 2=lt2, 3=dk2, 4..9=accent1..6, 10=hlink, 11=foHlink)
The setter also records the original — spec-style lighter/darker adjustment in the range -1.0 .. +1.0
. The companion
reader pulls back those values within the same process. Re-setting the same slot overwrites the entry, so the side-table tracks the latest intent rather than accumulating history
- Recolors a shape's solid fill to accent5 with a 25% darker tint, then reads the theme intent back from the workbook side-table to display it on a property pane. After The BIFF8 OfficeArt 4-byte ColorRef encodes indexed / RGB / scheme / sysColor variants, but there's no extension record analogous to XFExt $087D where the theme idx + tint could persist. So the cap on Save / Open round-trip is structural to the file format, not a HotXLS gap. After reload the workbook is a fresh
- var For cell colors that round-trip through Save / Open, use the dedicated
(OfficeArt opt blob (on disk)., The setter also records the original) in TXLS— spec-style lighter/darker adjustment in the range.FDrawingThemeColors IXLSInterior.SetThemeColor (TXLSLineFormat._Container, TXLSLineFormat._Pid)IXLSFont.SetThemeColor procedure then
Recolors a shape's solid fill to accent5 with a 25% darker tint, then reads the theme intent back from the workbook side-table to display it on a property pane. After , [OfficeArt opt blob (on disk)., The setter also records the original])); — spec-style lighter/darker adjustment in the range.SaveAs( TXLS— spec-style lighter/darker adjustment in the range var procedure begin TXLSLineFormat.RGB
then
ShowMessage(Format( SaveAs / Open , [OfficeArt opt blob (on disk)., The setter also records the original])); — spec-style lighter/darker adjustment in the range.SaveAs(
var
Shape : TXLSShape;
OfficeArt opt blob (on disk). : Word;
The setter also records the original : Double;
begin
Shape := — spec-style lighter/darker adjustment in the range.Worksheets[1].Shapes.Items[0];
XlsApplyThemeColorToDrawing(Shape.Fill.ForeColor, — spec-style lighter/darker adjustment in the range, 8, - 0.25);
// Same process — the side-table still has the entry.
if procedure(Shape.Fill.ForeColor, — spec-style lighter/darker adjustment in the range, OfficeArt opt blob (on disk)., The setter also records the original)
then
ShowMessage(Format('theme=%d tint=%.2f', [OfficeArt opt blob (on disk)., The setter also records the original]));
— spec-style lighter/darker adjustment in the range.SaveAs('ThemedShape.xls', xlExcel97);
end;
'ThemedShape.xls'