BIFF files may contain several different variations of the OBJ record. They correspond to the graphic objects and dialog box controls available in Microsoft Excel: line object, rectangle object, check box object, and so on.
In BIFF8, the OBJ record contains a partial description of a drawing object, and the MSODRAWING, MSODRAWINGGROUP, and MSODRAWINGSELECTION records contain the remaining drawing object data.
To store an OBJ record in BIFF8, Microsoft Excel writes a collection of subrecords. The structure of a subrecord is identical to the structure of a BIFF record. Each subrecord begins with a 2-byte id number, ft (see the following table). Next a 2-byte length field, cb, specifies the length of the subrecord data field. The subrecord data field follows the length field.
The first subrecord is always ftCmo (common object data), and the last subrecord is always ftEnd.
Subrecord |
Number |
Description | |
ftEnd |
00h |
End of OBJ record | |
(Reserved) |
01h | ||
(Reserved) |
02h | ||
(Reserved) |
03h | ||
ftMacro |
04h |
Fmla-style macro | |
ftButton |
05h |
Command button | |
ftGmo |
06h |
Group marker | |
ftCf |
07h |
Clipboard format |
Subrecord |
Number |
Description | |
ftPioGrbit |
08h |
Picture option flags | |
ftPictFmla |
09h |
Picture fmla-style macro | |
ftCbls |
0Ah |
Check box link | |
ftRbo |
0Bh |
Radio button | |
ftSbs |
0Ch |
Scroll bar | |
ftNts |
0Dh |
Note structure | |
ftSbsFmla |
0Eh |
Scroll bar fmla-style macro | |
ftGboData |
0Fh |
Group box data | |
ftEdoData |
10h |
Edit control data | |
ftRboData |
11h |
Radio button data | |
ftCblsData |
12h |
Check box data | |
ftLbsData |
13h |
List box data | |
ftCblsFmla |
14h |
Check box link fmla-style macro | |
ftCmo |
15h |
Common object data |
Offset |
Name |
Size |
Contents |
0 |
ft |
2 |
= ftCmo (15h) |
2 |
cb |
2 |
Length of ftCmo data |
4 |
ot |
2 |
Object type (see following table) |
6 |
id |
2 |
Object ID number |
8 |
grbit |
2 |
Option flags (see following table) |
14 |
(Reserved) |
12 |
Reserved; must be 0 (zero) |
The grbit field at byte 8 contains the flag bits listed in the following table.
Bits |
Mask |
Name |
Contents | |
0 |
0001h |
fLocked |
= 1 if the object is locked when the sheet is protected | |
3 – 1 |
000Eh |
(Reserved) |
Reserved; must be 0 (zero) | |
4 |
0010h |
fPrint |
= 1 if the object is printable | |
12 – 5 |
1FE0h |
(Reserved) |
Reserved; must be 0 (zero) | |
13 |
2000h |
fAutoFill |
= 1 if the object uses automatic fill style | |
14 |
4000h |
fAutoLine |
= 1 if the object uses automatic line style | |
15 |
8000h |
(Reserved) |
Reserved; must be 0 (zero) |
The ot field contains the object type.
ot |
Object type | |
00 |
Group | |
01 |
Line | |
02 |
Rectangle | |
03 |
Oval | |
04 |
Arc | |
05 |
Chart | |
06 |
Text | |
07 |
Button | |
08 |
Picture | |
09 |
Polygon | |
0A |
(Reserved) | |
0B |
Check box | |
0C |
Option button | |
0D |
Edit box | |
0E |
Label | |
0F |
Dialog box | |
10 |
Spinner | |
11 |
Scroll bar | |
12 |
List box | |
13 |
Group box | |
14 |
Combo box | |
15 |
(Reserved) | |
16 |
(Reserved) | |
17 |
(Reserved) | |
18 |
(Reserved) | |
19 |
Comment | |
1A |
(Reserved) | |
1B |
(Reserved) | |
1C |
(Reserved) | |
1D |
(Reserved) | |
1E |
Microsoft Office drawing |
The ftEnd file type marks the end of an OBJ record.
Offset |
Name |
Size |
Contents |
0 |
ft |
2 |
= ftEnd (00h) |
2 |
cb |
2 |
Length of ftEnd (= 00h) |
Offset |
Name |
Size |
Contents |
0 |
ft |
2 |
= ftMacro (04h) |
2 |
cb |
2 |
Length of ftMacro |
4 |
Reserved |
var |
Offset |
Name |
Size |
Contents |
0 |
ft |
2 |
= ftButton (05h) |
2 |
cb |
2 |
Length of ftButton |
4 |
Reserved |
var |
Offset |
Name |
Size |
Contents |
0 |
ft |
2 |
= ftGmo (06h) |
2 |
cb |
2 |
Length of ftGmo |
4 |
Reserved |
var |
Offset |
Name |
Size |
Contents |
0 |
ft |
2 |
= ftCf (07h) |
2 |
cb |
2 |
Length of ftCf |
4 |
(Reserved) |
var |
Reserved |
Offset |
Name |
Size |
Contents |
0 |
ft |
2 |
= ftPioGrbit (08h) |
2 |
cb |
2 |
Length of ftPioGrbit |
4 |
(Reserved) |
var |
Reserved |
Offset |
Name |
Size |
Contents |
0 |
ft |
2 |
= ftPictFmla (09h) |
2 |
cb |
2 |
Length of ftPictFmla |
4 |
(Reserved) |
var |
Reserved |
Offset |
Name |
Size |
Contents |
0 |
ft |
2 |
= ftCbls (0Ah) |
2 |
cb |
2 |
Length of ftCbls |
4 |
(Reserved) |
var |
Reserved |
Offset |
Name |
Size |
Contents |
0 |
ft |
2 |
= ftRbo (0Bh) |
2 |
cb |
2 |
Length of ftRbo |
4 |
(Reserved) |
var |
Reserved |
Offset |
Name |
Size |
Contents |
0 |
ft |
2 |
= ftSbs (0Ch) |
2 |
cb |
2 |
Length of ftSbs |
4 |
(Reserved) |
var |
Reserved |
Offset |
Name |
Size |
Contents |
0 |
ft |
2 |
=ftNts (0Dh) |
2 |
cb |
2 |
Length of ftNts |
4 |
(Reserved) |
var |
Reserved |
Offset |
Name |
Size |
Contents |
0 |
ft |
2 |
= ftSbsFmla (0Eh) |
2 |
cb |
2 |
Length of ftSbsFmla |
4 |
(Reserved) |
var |
Reserved |
The ftGboData file type contains group box object data.
Offset |
Name |
Size |
Contents |
0 |
ft |
2 |
=ftGboData (0Fh) |
2 |
cb |
2 |
Length of ftGboData |
4 |
(Reserved) |
var |
Reserved |
Offset |
Name |
Size |
Contents |
0 |
ft |
2 |
= ftEdoData (10h) |
2 |
cb |
2 |
Length of ftEdoData |
4 |
(Reserved) |
var |
Reserved |
Offset |
Name |
Size |
Contents |
0 |
ft |
2 |
= ftRboData (11h) |
2 |
cb |
2 |
Length of ftRboData |
4 |
(Reserved) |
var |
Reserved |
Offset |
Name |
Size |
Contents |
0 |
ft |
2 |
= ftCblsData (12h) |
2 |
cb |
2 |
Length of ftCblsData |
4 |
(Reserved) |
var |
Reserved |
Offset |
Name |
Size |
Contents |
0 |
ft |
2 |
= ftLbsData (13h) |
2 |
cb |
2 |
Length of ftLbsData |
4 |
(Reserved) |
var |
Reserved |
Offset |
Name |
Size |
Contents |
0 |
ft |
2 |
= ftCblsFmla (14h) |
2 |
cb |
2 |
Length of ftCblsFmla |
4 |
(Reserved) |
var |
Reserved |
The first 36 bytes of every OBJ record are fields that are common to all object types. The remaining fields are object-specific and are described in separate sections following the common object fields.
Common Object Fields
Offset |
Name |
Size |
Contents |
4 |
cObj |
4 |
Count (1-based) of the objects in the file |
8 |
OT |
2 |
Object type: |
10 |
id |
2 |
Object identification number |
12 |
grbit |
2 |
Option flags (see the following table) |
14 |
colL |
2 |
Column containing the upper-left corner of the object's bounding rectangle |
16 |
dxL |
2 |
X (horizontal) position of the upper-left corner of the object's bounding rectangle, relative to the left side of the underlying cell, expressed as 1/1024th of the cell's width |
18 |
rwT |
2 |
Row containing the upper-left corner of the object's bounding rectangle |
20 |
dyT |
2 |
Y (vertical) position of the upper-left corner of the object's bounding rectangle, relative to the top of the underlying cell, expressed as 1/1024th of the cell's height |
22 |
colR |
2 |
Column containing the lower-right corner of the object's bounding rectangle. |
24 |
dxR |
2 |
X (horizontal) position of the lower-right corner of the object's bounding rectangle, relative to the left side of the underlying cell, expressed as 1/1024th of the cell's width. |
26 |
rwB |
2 |
Row containing the lower-right corner of the object's bounding rectangle. |
28 |
dyB |
2 |
Y (vertical) position of the lower-right corner of the object's bounding rectangle, relative to the top of the underlying cell, expressed as 1/1024th of the cell's height. |
30 |
cbMacro |
2 |
Length of the FMLA structure that stores the definition of the attached macro; see FMLA Structure. Some objects may store the length of the FMLA structure in a cbFmla that immediately preceded the FMLA; in these objects, cbMacro is ignored. |
32 |
(Reserved) |
6 |
Reserved; must be 0 (zero). |
The grbit field at byte 12 contains the flag bits listed in the following table.
Offset |
Bits |
Mask |
Name |
Contents |
0 |
0 |
01h |
fSel |
= 1 if the object is selected |
1 |
02h |
fAutoSize |
= 1 if the object moves and sizes with the cells | |
2 |
04h |
fMove |
= 1 if the object moves with the cells (Format Object dialog box, Properties tab) | |
3 |
08h |
(Reserved) |
Reserved; must be 0 (zero) | |
4 |
10h |
fLocked |
= 1 if the object is locked when the sheet is protected | |
5 |
20h |
(Reserved) |
Reserved; must be 0 (zero) | |
6 |
40h |
(Reserved) |
Reserved; must be 0 (zero) | |
7 |
80h |
fGrouped |
= 1 if the object is part of a group of objects |
Offset |
Bits |
Mask |
Name |
Contents |
1 |
0 |
01h |
fHidden |
= 1 if the object is hidden (this can be done only from a macro) |
1 |
02h |
fVisible |
= 1 if the object is visible | |
2 |
04h |
fPrint |
= 1 if the object is printable | |
7 – 3 |
F8h |
(Reserved) |
Reserved; must be 0 (zero) |
Line Object Fields
Offset |
Name |
Size |
Contents |
38 |
icv |
1 |
Index to the color palette for line color. |
39 |
lns |
1 |
Line style: |
40 |
lnw |
1 |
Line weight: |
41 |
fAuto |
1 |
Bit 0 = 1 if Automatic Border option is turned on (Format Object dialog box, Patterns tab). All other bits in fAuto are don't-care. |
42 |
es |
2 |
End style structure (see the following table). |
44 |
iqu |
1 |
Quadrant index (direction of line): |
45 |
(Reserved) |
1 |
Reserved; must be 0 (zero). |
46 |
cchName |
1 |
Length of the name (null if no name). |
47 |
stName |
var |
Name (null if no name; may contain a padding byte to force word-boundary alignment). |
var |
fmla |
var |
FMLA structure (see the following section). |
The end style structure (es) describes the arrowheads on the end point of the line. The structure contains four 4-bit fields, as described in the following table.
Offset |
Bits |
Mask |
Name |
Contents |
0 |
3–0 |
0Fh |
sest |
Arrowhead style: |
7–4 |
F0h |
sesw |
Arrowhead width: | |
1 |
3–0 |
0Fh |
sesl |
Arrowhead length: |
7–4 |
F0h |
(Unused) |
The FMLA structure stores a parsed expression for the macro that is attached to the object. For more information about parsed expressions, see "Microsoft Excel Formulas" on page 444. The FMLA structure is null if the object does not have a macro attached.
In some object types, the FMLA structure length is given by cbMacro in the common object fields. In other object types, the FMLA structure length is given by a cbFmla that immediately precedes the FMLA. In these object types, ignore cbMacro. There may be an optional padding byte at the end of the FMLA to force it to end on a word boundary. The FMLA structure has the form shown in the following table.
Offset |
Name |
Size |
Contents |
0 |
cce |
2 |
Length of the parsed expression. |
2 |
(Reserved) |
4 | |
6 |
rgce |
var |
Parsed expression (may contain a padding byte to force word-boundary alignment). |
Rectangle Object Fields
Offset |
Name |
Size |
Contents |
38 |
icvBack |
1 |
Index to the color palette for background color. |
39 |
icvFore |
1 |
Index to the color palette for foreground color. |
40 |
fls |
1 |
Fill pattern. |
41 |
fAuto |
1 |
Bit 0 = 1 if the Automatic Fill option is turned on (Format Object dialog box, Patterns tab). All other bits in fAuto are don't-care. |
42 |
icv |
1 |
Index to the color palette for line color. |
43 |
lns |
1 |
Line style (see "Line Object Fields"). |
44 |
lnw |
1 |
Line weight (see "Line Object Fields"). |
45 |
fAuto |
1 |
Bit 0 = 1 if the Automatic Border option is turned on (Format Object dialog box, Patterns tab). All other bits in fAuto are don't-care. |
46 |
frs |
2 |
Frame style structure (see the following table). |
48 |
cchName |
1 |
Length of the name (null if no name). |
49 |
stName |
var |
Name (null if no name; may contain a padding byte to force word-boundary alignment). |
var |
fmla |
var |
FMLA structure (see "FMLA Structure"). |
The frame style structure (frs) contains 16 bits. Because dxyCorner overlaps the byte boundary, the structure is defined as a single 16-bit field instead of two 8-bit fields.
Offset |
Bits |
Mask |
Name |
Contents |
0 |
0 |
0001h |
frt |
= 1 if the rectangle has rounded corners |
1 |
0002h |
fShadow |
= 1 if the rectangle has a shadow border | |
9 – 2 |
03FCh |
dxyCorner |
Diameter of the oval (actually a circle) that defines the rounded corners (if frt = 1) | |
15–10 |
FC00h |
(Unused) |
Oval Object Fields
Offset |
Name |
Size |
Contents |
38 |
icvBack |
1 |
Index to the color palette for background color. |
39 |
icvFore |
1 |
Index to the color palette for foreground color. |
40 |
fls |
1 |
Fill pattern. |
41 |
fAuto |
1 |
Bit 0 = 1 if the Automatic Fill option is turned on (Format Object dialog box, Patterns tab). All other bits in fAuto are don't-care. |
42 |
icv |
1 |
Index to the color palette for line color. |
43 |
lns |
1 |
Line style (see "Line Object Fields"). |
44 |
lnw |
1 |
Line weight (see "Line Object Fields"). |
45 |
fAuto |
1 |
Bit 0 = 1 if the Automatic Border option is turned on (Format Object dialog box, Patterns tab). All other bits in fAuto are don't-care. |
46 |
frs |
2 |
Frame style structure (see the following table). |
48 |
cchName |
1 |
Length of the name (null if no name). |
49 |
stName |
var |
Name (null if no name; may contain a padding byte to force word-boundary alignment). |
var |
fmla |
var |
FMLA structure (see "FMLA Structure"). |
The frame style structure (frs) contains 16 bits. dxyCorner is not used for oval objects.
Offset |
Bits |
Mask |
Name |
Contents |
0 |
0 |
0001h |
frt |
(Not used for oval objects) |
1 |
0002h |
fShadow |
= 1 if the oval has a shadow border (Format Object dialog box, Patterns tab) | |
2–9 |
03FCh |
dxyCorner |
(Not used for oval objects) | |
10–15 |
FC00h |
(Unused) |
Arc Object Fields
Offset |
Name |
Size |
Contents |
38 |
icvBack |
1 |
Index to the color palette for background color. |
39 |
icvFore |
1 |
Index to the color palette for foreground color. |
40 |
fls |
1 |
Fill pattern. |
41 |
fAuto |
1 |
Bit 0 = 1 if the Automatic Fill option is turned on (Format Object dialog box, Patterns tab). All other bits in fAuto are don't-care. |
Offset |
Name |
Size |
Contents |
42 |
icv |
1 |
Index to the color palette for line color. |
43 |
lns |
1 |
Line style (see "Line Object Fields"). |
44 |
lnw |
1 |
Line weight (see "Line Object Fields"). |
45 |
fAuto |
1 |
Bit 0 = 1 if the Automatic Border option is turned on (Format Object dialog box, Patterns tab). All other bits in fAuto are don't-care. |
46 |
iqu |
1 |
Quadrant index (the section of an oval that describes the arc): |
47 |
(Reserved) |
1 |
Reserved; must be 0 (zero). |
48 |
cchName |
1 |
Length of the name (null if no name). |
49 |
stName |
var |
Name (null if no name; may contain a padding byte to force word-boundary alignment). |
var |
fmla |
var |
FMLA structure (see "FMLA Structure"). |
Chart Object Fields
Offset |
Name |
Size |
Contents |
38 |
icvBack |
1 |
Index to the color palette for background color. |
39 |
icvFore |
1 |
Index to the color palette for foreground color. |
40 |
fls |
1 |
Fill pattern. |
41 |
fAuto |
1 |
Bit 0 = 1 if the Automatic Fill option is turned on (Format Object dialog box, Patterns tab). All other bits in fAuto are don't-care. |
42 |
icv |
1 |
Index to the color palette for line color. |
43 |
lns |
1 |
Line style (see "Line Object Fields"). |
44 |
lnw |
1 |
Line weight (see "Line Object Fields"). |
45 |
fAuto |
1 |
Bit 0 = 1 if the Automatic Border option is turned on (Format Object dialog box, Patterns tab). All other bits in fAuto are don't-care. |
46 |
frs |
2 |
Frame style structure (see "Rectangle Object Fields"). |
48 |
grbit |
2 |
Option flags (shown LSB to MSB): |
Offset |
Name |
Size |
Contents |
50 |
(Reserved) |
16 |
Reserved; must be 0 (zero). |
66 |
cchName |
1 |
Length of the name (null if no name). |
67 |
stName |
var |
Name (null if no name; may contain a padding byte to force word-boundary alignment). |
var |
fmla |
var |
FMLA structure (see "FMLA Structure"). |
An embedded chart BIFF substream immediately follows the chart object record. This embedded chart file begins with a BOF record and ends with an EOF record. For more information, see Chapter 10 "Microsoft Excel Chart Records" on page 477.
Text Object Fields
Offset |
Name |
Size |
Contents |
38 |
icvBack |
1 |
Index to the color palette for background color. |
39 |
icvFore |
1 |
Index to the color palette for foreground color. |
40 |
fls |
1 |
Fill pattern. |
41 |
fAuto |
1 |
Bit 0 = 1 if the Automatic Fill option is turned on (Format Object dialog box, Patterns tab). All other bits in fAuto are don't-care. |
42 |
icv |
1 |
Index to the color palette for line color. |
43 |
lns |
1 |
Line style (see "Line Object Fields"). |
44 |
lnw |
1 |
Line weight (see "Line Object Fields"). |
45 |
fAuto |
1 |
Bit 0 = 1 if the Automatic Border option is turned on (Format Object dialog box, Patterns tab). All other bits in fAuto are don't-care. |
46 |
frs |
2 |
Frame style structure (see the preceding section "Rectangle Object Fields"). |
48 |
cbText |
2 |
Length of the object text. |
50 |
(Reserved) |
2 |
Reserved; must be 0 (zero). |
52 |
cbRuns |
2 |
Total length of all TXORUNS structures in the record. |
54 |
ifntEmpty |
2 |
If cbRuns = 0, the text object is empty, and these 2 bytes contain the index to the FONT record for the object. If the object contains text, cbRuns > 0, and these 2 bytes are reserved. |
56 |
(Reserved) |
2 |
Reserved; must be 0 (zero). |
58 |
grbit |
2 |
Option flags (see the following table). |
60 |
rot |
2 |
Orientation of text within the object boundary (Format Object dialog box, Alignment tab): |
62 |
(Reserved) |
12 |
Reserved; must be 0 (zero). |
74 |
cchName |
1 |
Length of the name (null if no name). |
75 |
stName |
var |
Name (null if no name; may contain a padding byte to force word-boundary alignment). |
var |
fmla |
var |
FMLA structure (see "FMLA Structure"). |
var |
rgch |
var |
Object text; may contain a single padding byte at the end of the text for word-boundary alignment (cbText does not count this padding byte). |
var |
TXORUNS |
8 |
TXORUNS structure (see "TXORUNS"). |
var |
TXORUNS |
8 |
TXORUNS structure (see "TXORUNS"). |
The grbit field at byte 58 contains the option flags listed in the following table.
Offset |
Bits |
Mask |
Name |
Contents |
0 |
0 |
01h |
(Reserved) |
Reserved; must be 0 (zero) |
3–1 |
0Eh |
alcH |
Horizontal text alignment: | |
6–4 |
70h |
alcV |
Vertical text alignment: | |
7 |
80h |
fAutoTextSize |
= 1 if the Automatic Size option is turned on (Format Object dialog box, Alignment tab) | |
1 |
0 |
01h |
(Unused) | |
1 |
02h |
fLockText |
= 1 if the Lock Text option is turned on (Format Object dialog box, Protection tab) | |
2 |
04h |
fFuzzy |
= 1 if the object is selected (the broken border is displayed) | |
7 – 3 |
F8h |
(Reserved) |
Reserved; must be 0 (zero) |
The TXORUNS structure contains formatting information about the object text string. A TXORUNS structure occurs every time the text formatting changes. The TXORUNS structure is described in the following table.
Offset |
Name |
Size |
Contents |
0 |
ichFirst |
2 |
Index to the first character to which the formatting applies |
2 |
ifnt |
2 |
Index to the FONT record |
4 |
(Reserved) |
4 |
There are always at least two TXORUNS structures in the text object record, even if the entire text string is normal font (ifnt = 0). The last TXORUNS structure, which ends the formatting information for the string, always has ichFirst = cbText, and ifnt = 0.
Button Object Fields
Offset |
Name |
Size |
Contents | |||||
38 |
icvBack |
1 |
Index to the color palette for background color (fixed for buttons). | |||||
39 |
icvFore |
1 |
Index to the color palette for foreground color (fixed for buttons). | |||||
40 |
fls |
1 |
Fill pattern (fixed for buttons). | |||||
41 |
grbit |
1 |
Option flags (fixed for buttons). | |||||
42 |
icv |
1 |
Index to the color palette for line color (fixed for buttons). | |||||
43 |
lns |
1 |
Line style (fixed for buttons). | |||||
44 |
lnw |
1 |
Line weight (fixed for buttons). | |||||
45 |
fAuto |
1 |
Bit 0 = 1 (fixed for buttons). | |||||
46 |
frs |
2 |
Frame style structure (ignored for buttons). | |||||
48 |
cbText |
2 |
Length of the object text. | |||||
50 |
(Reserved) |
2 |
Reserved; must be 0 (zero). | |||||
52 |
cbRuns |
2 |
Total length of all TXORUNS structures in record. | |||||
54 |
ifntEmpty |
2 |
If cbRuns = 0, the button object is empty, and these 2 bytes contain the index to the FONT record for the object. | |||||
56 |
(Reserved) |
2 |
Reserved; must be 0 (zero). | |||||
58 |
grbit |
2 |
Option flags (see the following table). | |||||
60 |
rot |
2 |
Orientation of text within the object boundary (Format Object dialog box, Alignment tab): | |||||
62 |
(Reserved) |
6 |
Reserved; must be 0 (zero). | |||||
68 |
grbit |
2 |
Option flags (shown LSB to MSB): | |||||
70 |
accel |
2 |
Accelerator key character. | |||||
72 |
accel2 |
2 |
Accelerator key character (Far East versions only). | |||||
74 |
cchName |
1 |
Length of the name (null if no name). | |||||
75 |
stName |
var |
Name (null if no name; may contain a padding byte to force word-boundary alignment). | |||||
var |
fmla |
var |
FMLA structure (see "FMLA Structure"). | |||||
var |
rgch |
var |
Object text; may contain a single padding byte at the end of the text for word-boundary alignment (cbText does not count this padding byte). | |||||
var |
TXORUNS |
8 |
TXORUNS structure (see "TXORUNS"). | |||||
var |
TXORUNS |
8 |
TXORUNS structure (see "TXORUNS"). |
The grbit field at byte 58 contains the option flags listed in the following table.
Offset |
Bits |
Mask |
Name |
Contents |
0 |
0 |
01h |
(Reserved) |
Reserved; must be 0 (zero) |
3–1 |
0Eh |
alcH |
Horizontal text alignment: | |
6–4 |
70h |
alcV |
Vertical text alignment: |
Offset |
Bits |
Mask |
Name |
Contents |
7 |
80h |
fAutoTextSize |
= 1 if the Automatic Size option is turned on (Format Object dialog box, Alignment tab) | |
1 |
0 |
01h |
(Unused) | |
1 |
02h |
fLockText |
= 1 if the Lock Text option is turned on (Format Object dialog box, Protection tab) | |
2 |
04h |
fFuzzy |
= 1 if the object is selected (the broken border is displayed) | |
7 – 3 |
F8h |
(Reserved) |
Reserved; must be 0 (zero) |
Picture Object Fields
Offset |
Name |
Size |
Contents |
38 |
icvBack |
1 |
Index to the color palette for background color. |
39 |
icvFore |
1 |
Index to the color palette for foreground color. |
40 |
fls |
1 |
Fill pattern. |
41 |
fAuto |
1 |
Bit 0 = 1 if the Automatic Fill option is turned on (Format Object dialog box, Patterns tab). All other bits in fAuto are don't-care. |
42 |
icv |
1 |
Index to the color palette for line color. |
43 |
lns |
1 |
Line style (see "Line Object Fields"). |
44 |
lnw |
1 |
Line weight (see "Line Object Fields"). |
45 |
fAuto |
1 |
Bit 0 = 1 if the Automatic Border option is turned on (Format Object dialog box, Patterns tab). All other bits in fAuto are don't-care. |
46 |
frs |
2 |
Frame style structure (see the preceding section "Rectangle Object Fields"). |
48 |
cf |
2 |
Image format: |
50 |
(Reserved) |
4 |
Reserved; must be 0 (zero). |
54 |
cbPictFmla |
2 |
Length of the picture FMLA structure (the FMLA that contains the link to the picture). |
56 |
(Reserved) |
2 |
Reserved; must be 0 (zero). |
Offset |
Name |
Size |
Contents |
58 |
grbit |
2 |
Option flags (see the following table). |
60 |
(Reserved) |
4 |
Reserved; must be 0 (zero). |
64 |
cchName |
1 |
Length of the name (null if no name). |
65 |
stName |
var |
Name (null if no name; may contain a padding byte to force word-boundary alignment). |
var |
fmla |
var |
Attached macro FMLA structure (see "FMLA Structure"). |
var |
PictFmla |
var |
Picture FMLA structure (see "FMLA Structure"). |
var |
(Reserved) |
4 |
Reserved; must be 0 (zero). |
The grbit field at byte 58 contains the option flags listed in the following table.
Offset |
Bits |
Mask |
Name |
Contents |
0 |
0 |
01h |
fAutoPict |
= 0 if the user manually sizes picture by dragging a handle |
1 |
02h |
fDde |
= 1 if the reference in the FMLA structure is a DDE reference | |
2 |
04h |
fIcon |
= 1 if the picture is from a DDE link, and the only available representation of the picture is an icon | |
7–3 |
F8h |
(Unused) | ||
1 |
7–0 |
FFh |
(Unused) |
The sheet background bitmap for worksheets and charts is stored as a hidden picture object that has the name__BkgndObj (the stName field at byte 65). An IMDATA record will also appear in the file to store the image description.
Group Object Fields
Offset |
Name |
Size |
Contents |
34 |
(Reserved) |
4 |
Reserved; must be 0 (zero). |
38 |
idNext |
2 |
Object ID number (id) of the object that follows the last object in this group. If there are no objects following the group, idNext = 0. |
40 |
(Reserved) |
16 |
Reserved; must be 0 (zero). |
A Group OBJ record precedes the OBJ records for the group members.
Polygon Object Fields
Offset |
Name |
Size |
Contents |
38 |
icvBack |
1 |
Index to the color palette for background color. |
39 |
icvFore |
1 |
Index to the color palette for foreground color. |
40 |
fls |
1 |
Fill pattern. |
41 |
fAuto |
1 |
Bit 0 = 1 if the Automatic Fill option is turned on (Format Object dialog box, Patterns tab). All other bits in fAuto are don't-care. |
42 |
icv |
1 |
Index to the color palette for line color. |
43 |
lns |
1 |
Line style (see the preceding section "Line Object Fields"). |
44 |
lnw |
1 |
Line weight (see preceding section "Line Object Fields"). |
45 |
fAuto |
1 |
Bit 0 = 1 if the Automatic Border option is turned on (Format Object dialog box, Patterns tab). All other bits in fAuto are don't-care. |
46 |
frs |
2 |
Frame style structure (see the preceding section "Rectangle Object Fields"). |
48 |
wstate |
2 |
If bit 0 = 1, the polygon is closed. All other bits are don't-care. |
50 |
(Reserved) |
10 | |
60 |
iMacSav |
2 |
Number of vertices in the polygon (1-based). |
62 |
(Reserved) |
8 | |
70 |
cchName |
1 |
Length of the name (null if no name). |
71 |
stName |
var |
Name (null if no name; may contain a padding byte to force word-boundary alignment). |
var |
fmla |
var |
FMLA structure (see "FMLA Structure"). |
For polygon objects, a COORDLIST record follows the OBJ record.
Check Box Object Fields
Offset |
Name |
Size |
Contents |
38 |
icvBack |
1 |
Index to the color palette for background color (fixed for check box objects). |
39 |
icvFore |
1 |
Index to the color palette for foreground color (fixed for check box objects). |
40 |
fls |
1 |
Fill pattern (ignored for check box objects). |
41 |
fAuto |
1 |
(Ignored for check box objects). |
Offset |
Name |
Size |
Contents |
42 |
icv |
1 |
Index to the color palette for line color (fixed for check box objects). |
43 |
lns |
1 |
Line style (ignored for check box objects). |
44 |
lnw |
1 |
Line weight (ignored for check box objects). |
45 |
fAuto |
1 |
(Ignored for check box objects). |
46 |
frs |
2 |
Frame style structure (ignored for check box objects). |
48 |
(Reserved) |
10 |
Reserved; must be 0 (zero). |
58 |
grbit |
2 |
Option flags (see the following table). |
60 |
(Reserved) |
20 |
Reserved; must be 0 (zero). |
80 |
cchName |
1 |
Length of the name (null if no name). |
81 |
stName |
var |
Name (null if no name; may contain a padding byte to force word-boundary alignment). |
var |
cbFmla1 |
2 |
Length of the FMLA structure for the attached macro (never null). |
var |
fmla1 |
var |
FMLA structure for the attached macro (see "FMLA Structure"). |
var |
cbFmla2 |
2 |
Length of the FMLA structure for the cell link (never null). |
var |
fmla2 |
var |
FMLA structure for the cell link (see "FMLA Structure"). |
var |
cbText |
2 |
Length of the object text (never null). |
var |
rgch |
var |
Object text; may contain a single padding byte at the end of the text for word-boundary alignment (cbText does not count this padding byte). |
var |
fChecked |
2 |
= 0 if the check box is not checked |
var |
accel |
2 |
Accelerator key character. |
var |
accel2 |
2 |
Accelerator key character (Far East versions only). |
var |
grbit |
2 |
Option flags (shown LSB to MSB): |
The grbit field at byte 58 contains the option flags listed in the following table.
Offset |
Bits |
Mask |
Name |
Contents |
0 |
7 – 0 |
FFh |
(Reserved) |
Reserved; must be 0 (zero) |
1 |
0 |
01h |
(Unused) | |
1 |
02h |
fLockText |
= 1 if the Lock Text option is turned on (Format Object dialog box, Protection tab) | |
2 |
04h |
fFuzzy |
= 1 if the object is selected (the broken border is displayed) | |
7 – 3 |
F8h |
(Reserved) |
Reserved; must be 0 (zero) |
Dialog Frame Object Fields
Offset |
Name |
Size |
Contents |
38 |
icvBack |
1 |
Index to the color palette for background color (fixed for dialog frame objects). |
39 |
icvFore |
1 |
Index to the color palette for foreground color (fixed for dialog frame objects). |
40 |
fls |
1 |
Fill pattern (ignored for dialog frame objects). |
41 |
grbit |
1 |
Option flags (ignored for dialog frame objects). |
42 |
icv |
1 |
Index to the color palette for line color (fixed for dialog frame objects). |
43 |
lns |
1 |
Line style (ignored for dialog frame objects). |
44 |
lnw |
1 |
Line weight (ignored for dialog frame objects). |
45 |
fAuto |
1 |
Bit 0 = 1 for dialog frame objects. |
46 |
frs |
2 |
Frame style structure (ignored for dialog frame objects). |
48 |
cbText |
2 |
Length of the object text. |
50 |
(Reserved) |
8 |
Reserved; must be 0 (zero). |
58 |
grbit |
2 |
Option flags (see the following table). |
60 |
(Reserved) |
14 |
Reserved; must be 0 (zero). |
74 |
cchName |
1 |
Length of the name (null if no name). |
75 |
stName |
var |
Name (null if no name; may contain a padding byte to force word-boundary alignment). |
var |
fmla |
var |
FMLA structure (see "FMLA Structure"). |
var |
rgch |
var |
Object text; may contain a single padding byte at the end of the text for word-boundary alignment (cbText does not count this padding byte). |
var |
TXORUNS |
8 |
TXORUNS structure (see text). |
var |
TXORUNS |
8 |
TXORUNS structure (see text). |
The grbit field at byte 58 contains the option flags listed in the following table.
Offset |
Bits |
Mask |
Name |
Contents |
0 |
7 – 0 |
FFh |
(Reserved) |
Reserved; must be 0 (zero) |
1 |
0 |
01h |
(Unused) | |
1 |
02h |
fLockText |
= 1 if the Lock Text option is turned on (Format Object dialog box, Protection tab) | |
2 |
04h |
fFuzzy |
= 1 if an object is selected (the broken border is displayed) | |
7 – 3 |
F8h |
(Reserved) |
Reserved; must be 0 (zero) |
The TXORUNS structure contains formatting information about the object text string, which is the dialog box caption. There are two TXORUNS structures in the dialog frame object record. The first has ichFirst = 00h, and it has ifnt pointing to the FONT record for the text. The second has ichFirst = cbText, and it contains no other useful information. The TXORUNS structure is shown in the following table.
Offset |
Name |
Size |
Contents |
0 |
ichFirst |
2 |
Index to the first character to which the formatting applies |
2 |
ifnt |
2 |
Index to the FONT record |
4 |
(Reserved) |
4 |
Drop-Down Object Fields
Offset |
Name |
Size |
Contents | |||||
38 |
icvBack |
1 |
Index to the color palette for background color (fixed for drop-down objects). | |||||
39 |
icvFore |
1 |
Index to the color palette for foreground color (fixed for drop-down objects). | |||||
40 |
fls |
1 |
Fill pattern (ignored for drop-down objects). | |||||
41 |
grbit |
1 |
Option flags (ignored for drop-down objects). | |||||
42 |
icv |
1 |
Index to the color palette for line color (fixed for drop-down objects). | |||||
43 |
lns |
1 |
Line style (ignored for drop-down objects). | |||||
44 |
lnw |
1 |
Line weight (ignored for drop-down objects). | |||||
45 |
fAuto |
1 |
Bit 0 = 1 for drop-down objects. | |||||
46 |
frs |
2 |
Frame style structure (ignored for drop-down objects). | |||||
48 |
(Reserved) |
4 |
Reserved; must be 0 (zero). | |||||
52 |
iVal |
2 |
Scroll bar position. | |||||
54 |
iMin |
2 |
Scroll bar minimum value. | |||||
56 |
iMax |
2 |
Scroll bar maximum value. | |||||
58 |
dInc |
2 |
Amount to scroll when an arrow is clicked. | |||||
60 |
dPage |
2 |
Amount to scroll when the scroll bar is clicked. | |||||
62 |
fHoriz |
2 |
= 1 if the scroll bar is horizontal. | |||||
64 |
dxScroll |
2 |
Width of the scroll bar. | |||||
66 |
grbit |
2 |
Option flags (shown LSB to MSB): | |||||
68 |
(Reserved) |
18 |
Reserved; must be 0 (zero). | |||||
86 |
ifnt |
2 |
Index to the FONT record for list box. | |||||
88 |
(Reserved) |
14 |
Reserved; must be 0 (zero). | |||||
102 |
xLeft |
2 |
X (horizontal) position of the upper-left corner of the drop-down object's bounding rectangle. | |||||
104 |
yTop |
2 |
Y (vertical) position of the upper-left corner of the drop-down object's bounding rectangle. | |||||
106 |
xRight |
2 |
X (horizontal) position of the lower-right corner of the drop-down object's bounding rectangle. | |||||
108 |
yBot |
2 |
Y (vertical) position of the lower-right corner of the drop-down object's bounding rectangle. | |||||
110 |
(Reserved) |
4 |
Reserved; must be 0 (zero). | |||||
114 |
cchName |
1 |
Length of the name (null if no name). | |||||
115 |
stName |
var |
Name (null if no name; may contain a padding byte to force word-boundary alignment). | |||||
var |
cbFmla1 |
2 |
Length of the FMLA structure for the attached macro (never null). | |||||
var |
fmla1 |
var |
FMLA structure for the attached macro (see "FMLA Structure"). | |||||
var |
cbFmla2 |
2 |
Length of the FMLA structure for the cell link (never null). | |||||
var |
fmla2 |
var |
FMLA structure for the cell link (see "FMLA Structure"). | |||||
var |
cbFmla3 |
2 |
Length of the FMLA structure for the input range (never null). | |||||
var |
fmla3 |
var |
FMLA structure for the input range (see "FMLA Structure"). | |||||
var |
cLines |
2 |
Number of elements in the list box (1-based). | |||||
var |
iSel |
2 |
Index of the selected item (1-based). | |||||
var |
grbit |
2 |
Option flags (shown LSB to MSB): | |||||
var |
(Reserved) |
2 |
Reserved; must be 0 (zero). | |||||
var |
grbit |
2 |
Option flags (shown LSB to MSB): | |||||
var |
cLine |
2 |
Maximum number of lines that the drop-down list box contains before a scroll bar is added. | |||||
var |
dxMin |
2 |
Minimum allowable width of the drop-down list box. | |||||
var |
(Reserved) |
2 |
Reserved; must be 0 (zero). |
Edit Box Object Fields
Offset |
Name |
Size |
Contents |
38 |
icvBack |
1 |
Index to the color palette for background color (fixed for edit box objects). |
39 |
icvFore |
1 |
Index to the color palette for foreground color (fixed for edit box objects). |
40 |
fls |
1 |
Fill pattern (ignored for edit box objects). |
41 |
grbit |
1 |
Option flags (ignored for edit box objects). |
42 |
icv |
1 |
Index to the color palette for line color (fixed for edit box objects). |
43 |
lns |
1 |
Line style (ignored for edit box objects). |
44 |
lnw |
1 |
Line weight (ignored for edit box objects). |
45 |
fAuto |
1 |
Bit 0 = 1 for edit box objects. |
46 |
frs |
2 |
Frame style structure (ignored for edit box objects). |
Offset |
Name |
Size |
Contents |
48 |
(Reserved) |
10 |
Reserved; must be 0 (zero). |
58 |
grbit |
2 |
Option flags (see the following table). |
60 |
(Reserved) |
14 |
Reserved; must be 0 (zero). |
74 |
cchName |
1 |
Length of the name (null if no name). |
75 |
stName |
var |
Name (null if no name; may contain a padding byte to force word-boundary alignment). |
var |
cbFmla |
2 |
Length of the FMLA structure for the attached macro (never null). |
var |
fmla |
var |
FMLA structure for the attached macro (see "FMLA Structure"). |
var |
cbText |
2 |
Length of the object text (never null). |
var |
rgch |
var |
Object text; may contain a single padding byte at the end of the text for word-boundary alignment (cbText does not count this padding byte). |
var |
ivtEdit |
2 |
Edit validation: |
var |
fMultiLine |
2 |
= 1 if the edit is a multiline edit. |
var |
fVScroll |
2 |
= 1 if the edit box has a vertical scroll bar. |
var |
idList |
2 |
Object ID of the linked list box or linked drop-down, if the edit box is part of a combination list-edit box or combination drop-down edit box. If idList = 0, this is a simple edit box. |
The grbit field at byte 58 contains the option flags listed in the following table.
Offset |
Bits |
Mask |
Name |
Contents |
0 |
7 – 0 |
FFh |
(Reserved) |
Reserved; must be 0 (zero) |
1 |
0 |
01h |
(Unused) | |
1 |
02h |
fLockText |
= 1 if the Lock Text option is turned on (Format Object dialog box, Protection tab) | |
2 |
04h |
fFuzzy |
= 1 if the object is selected (the broken border is displayed) | |
7 – 3 |
F8h |
(Reserved) |
Reserved; must be 0 (zero) |
Group Box Object Fields
Offset |
Name |
Size |
Contents |
38 |
icvBack |
1 |
Index to the color palette for background color (fixed for group box objects). |
39 |
icvFore |
1 |
Index to the color palette for foreground color (fixed for group box objects). |
40 |
fls |
1 |
Fill pattern (ignored for group box objects). |
41 |
grbit |
1 |
Option flags (ignored for group box objects). |
42 |
icv |
1 |
Index to the color palette for line color (fixed for group box objects). |
43 |
lns |
1 |
Line style (ignored for group box objects). |
44 |
lnw |
1 |
Line weight (ignored for group box objects). |
45 |
fAuto |
1 |
Bit 0 = 1 for group box objects. |
46 |
frs |
2 |
Frame style structure (ignored for group box objects). |
48 |
(Reserved) |
10 |
Reserved; must be 0 (zero). |
58 |
grbit |
2 |
Option flags (see the following table). |
60 |
(Reserved) |
26 |
Reserved; must be 0 (zero). |
86 |
cchName |
1 |
Length of the name (null if no name). |
87 |
stName |
var |
Name (null if no name; may contain a padding byte to force word-boundary alignment). |
var |
cbFmla |
2 |
Length of the FMLA structure (never null). |
var |
fmla |
var |
FMLA structure (see "FMLA Structure"). |
var |
cbText |
2 |
Length of object text (never null). |
var |
rgch |
var |
Object text; may contain a single padding byte at the end of the text for word-boundary alignment (cbText does not count this padding byte). |
var |
accel |
2 |
Accelerator key character. |
var |
accel2 |
2 |
Accelerator key character (Far East versions only). |
var |
grbit |
2 |
Option flags (shown LSB to MSB): |
The grbit field at byte 58 contains the option flags listed in the following table.
Offset |
Bits |
Mask |
Name |
Contents |
0 |
7 – 0 |
FFh |
(Reserved) |
Reserved; must be 0 (zero) |
1 |
0 |
01h |
(Unused) | |
1 |
02h |
fLockText |
= 1 if the Lock Text option is on (Format Object dialog box, Protection tab) | |
2 |
04h |
fFuzzy |
= 1 if the object is selected (the broken border is displayed) | |
7 – 3 |
F8h |
(Reserved) |
Reserved; must be 0 (zero) |
Label Object Fields
Offset |
Name |
Size |
Contents |
38 |
icvBack |
1 |
Index to the color palette for background color (fixed for label objects). |
39 |
icvFore |
1 |
Index to the color palette for foreground color (fixed for label objects). |
40 |
fls |
1 |
Fill pattern (ignored for label objects). |
41 |
grbit |
1 |
Option flags (ignored for label objects). |
42 |
icv |
1 |
Index to the color palette for line color (fixed for label objects). |
43 |
lns |
1 |
Line style (ignored for label objects). |
44 |
lnw |
1 |
Line weight (ignored for label objects). |
45 |
fAuto |
1 |
Bit 0 = 1 for label objects. |
46 |
frs |
2 |
Frame style structure (ignored for label objects). |
48 |
cbText |
2 |
Length of object text. |
50 |
(Reserved) |
8 |
Reserved; must be 0 (zero). |
58 |
grbit |
2 |
Option flags (see the following table). |
60 |
(Reserved) |
14 |
Reserved; must be 0 (zero). |
74 |
cchName |
1 |
Length of the name (null if no name). |
75 |
stName |
var |
Name (null if no name; may contain a padding byte to force word-boundary alignment). |
var |
fmla |
var |
FMLA structure (see "FMLA Structure"). |
var |
rgch |
var |
Object text; may contain a single padding byte at the end of the text for word-boundary alignment (cbText does not count this padding byte). |
var |
TXORUNS |
8 |
TXORUNS structure (see text). |
var |
TXORUNS |
8 |
TXORUNS structure (see text). |
The grbit field at byte 58 contains the option flags listed in the following table.
Offset |
Bits |
Mask |
Name |
Contents |
0 |
7 – 0 |
FFh |
(Reserved) |
Reserved; must be 0 (zero) |
1 |
0 |
01h |
(Unused) | |
1 |
02h |
fLockText |
= 1 if the Lock Text option is on (Format Object dialog box, Protection tab) | |
2 |
04h |
fFuzzy |
= 1 if object is selected (the broken border is displayed) | |
7 – 3 |
F8h |
(Reserved) |
Reserved; must be 0 (zero) |
The TXORUNS structure contains formatting information about the object text string, which is the label string. There are two TXORUNS structures in the label object record. The first has ichFirst = 00h and has ifnt pointing to the FONT record for the label. The second has ichFirst = cbText and contains no other useful information. The TXORUNS structure is shown in the following table.
Offset |
Name |
Size |
Contents |
0 |
ichFirst |
2 |
Index to the first character to which the formatting applies |
2 |
ifnt |
2 |
Index to the FONT record |
4 |
(Reserved) |
4 |
List Box Object Fields
Offset |
Name |
Size |
Contents |
38 |
icvBack |
1 |
Index to the color palette for background color (fixed for list box objects). |
39 |
icvFore |
1 |
Index to the color palette for foreground color (fixed for list box objects). |
40 |
fls |
1 |
Fill pattern (ignored for list box objects). |
41 |
grbit |
1 |
Option flags (ignored for list box objects). |
42 |
icv |
1 |
Index to the color palette for line color (fixed for list box objects). |
43 |
lns |
1 |
Line style (ignored for list box objects). |
44 |
lnw |
1 |
Line weight (ignored for list box objects). |
45 |
fAuto |
1 |
Bit 0 = 1 for list box objects. |
46 |
frs |
2 |
Frame style structure (ignored for list box objects). |
48 |
(Reserved) |
4 |
Reserved; must be 0 (zero). |
Offset |
Name |
Size |
Contents | |||||
52 |
iVal |
2 |
Scroll bar position. | |||||
54 |
iMin |
2 |
Scroll bar minimum value. | |||||
56 |
iMax |
2 |
Scroll bar maximum value. | |||||
58 |
dInc |
2 |
Amount to scroll when the arrow is clicked. | |||||
60 |
dPage |
2 |
Amount to scroll when the scroll bar is clicked. | |||||
62 |
fHoriz |
2 |
= 1 if the scroll bar is horizontal. | |||||
64 |
dxScroll |
2 |
Width of the scroll bar. | |||||
66 |
grbit |
2 |
Option flags (shown LSB to MSB): | |||||
68 |
(Reserved) |
18 |
Reserved; must be 0 (zero). | |||||
86 |
ifnt |
2 |
Index to the FONT record for the list box. | |||||
88 |
(Reserved) |
4 |
Reserved; must be 0 (zero). | |||||
92 |
cchName |
1 |
Length of the name (null if no name). | |||||
93 |
stName |
var |
Name (null if no name; may contain a padding byte to force word-boundary alignment). | |||||
var |
cbFmla1 |
2 |
Length of the FMLA structure for the attached macro (never null). | |||||
var |
fmla1 |
var |
FMLA structure for the attached macro (see "FMLA Structure"). | |||||
var |
cbFmla2 |
2 |
Length of the FMLA structure for the cell link (never null). | |||||
var |
fmla2 |
var |
FMLA structure for the cell link (see "FMLA Structure"). | |||||
var |
cbFmla3 |
2 |
Length of the FMLA structure for input range (never null). | |||||
var |
fmla3 |
var |
FMLA structure for input range (see "FMLA Structure"). | |||||
var |
cLines |
2 |
Number of elements in the list box (1-based). | |||||
var |
iSel |
2 |
Index of the selected item (1-based). | |||||
var |
grbit |
2 |
Option flags (shown LSB to MSB): | |||||
var |
idEdit |
2 |
Object ID of the linked edit box, if the list box is part of a combination list-edit box. If idList = 0, this is a simple list box. | |||||
var |
rgbSel |
var |
Array of bytes, indicating which items are selected in a multiselect or extended-select list box. The number of elements in the array is equal to cLines. If an item is selected in the list box, the corresponding element in the array = 1. |
Option Button Object Fields
Offset |
Name |
Size |
Contents |
38 |
icvBack |
1 |
Index to the color palette for background color (fixed for option button objects). |
39 |
icvFore |
1 |
Index to the color palette for foreground color (fixed for option button objects). |
40 |
fls |
1 |
Fill pattern (ignored for option button objects). |
41 |
fAuto |
1 |
(Ignored for option button objects). |
42 |
icv |
1 |
Index to the color palette for line color (fixed for option button objects). |
43 |
lns |
1 |
Line style (ignored for option button objects). |
44 |
lnw |
1 |
Line weight (ignored for option button objects). |
45 |
fAuto |
1 |
(Ignored for option button objects). |
46 |
frs |
2 |
Frame style structure (ignored for option button objects). |
48 |
(Reserved) |
10 |
Reserved; must be 0 (zero). |
58 |
grbit |
2 |
Option flags (see the following table). |
60 |
(Reserved) |
32 |
Reserved; must be 0 (zero). |
92 |
cchName |
1 |
Length of the name (null if no name). |
93 |
stName |
var |
Name (null if no name; may contain a padding byte to force word-boundary alignment). |
var |
cbFmla1 |
2 |
Length of the FMLA structure for the attached macro (never null). |
var |
fmla1 |
var |
FMLA structure for the attached macro (see "FMLA Structure"). |
var |
cbFmla2 |
2 |
Length of FMLA structure for the cell link (never null). |
var |
fmla2 |
var |
FMLA structure for the cell link (see "FMLA Structure"). |
Offset |
Name |
Size |
Contents |
var |
cbText |
2 |
Length of the object text (never null). |
var |
rgch |
var |
Object text; may contain a single padding byte at the end of the text for word-boundary alignment (cbText does not count this padding byte). |
var |
fChecked |
2 |
= 0 if the option button is not checked. |
var |
accel |
2 |
Accelerator key character. |
var |
accel2 |
2 |
Accelerator key character (Far East versions only). |
var |
grbit |
2 |
Option flags (shown LSB to MSB): |
var |
idRadNext |
2 |
Object ID of the next option button in the group. |
var |
fFirstBtn |
2 |
= 1 if this option button is the first in the group. |
The grbit field at byte 58 contains the option flags listed in the following table.
Offset |
Bits |
Mask |
Name |
Contents |
0 |
7 – 0 |
FFh |
(Reserved) |
Reserved; must be 0 (zero) |
1 |
0 |
01h |
(Unused) | |
1 |
02h |
fLockText |
= 1 if the Lock Text option is on (Format Object dialog box, Protection tab) | |
2 |
04h |
fFuzzy |
= 1 if the object is selected (the broken border is displayed) | |
7 – 3 |
F8h |
(Reserved) |
Reserved; must be 0 (zero) |
Scroll Bar Object Fields
Offset |
Name |
Size |
Contents |
38 |
icvBack |
1 |
Index to the color palette for background color (fixed for scroll bar objects). |
39 |
icvFore |
1 |
Index to the color palette for foreground color (fixed for scroll bar objects). |
40 |
fls |
1 |
Fill pattern (ignored for scroll bar objects). |
41 |
grbit |
1 |
Option flags (ignored for scroll bar objects). |
42 |
icv |
1 |
Index to the color palette for line color (fixed for scroll bar objects). |
43 |
lns |
1 |
Line style (ignored for scroll bar objects). |
Offset |
Name |
Size |
Contents |
44 |
lnw |
1 |
Line weight (ignored for scroll bar objects). |
45 |
fAuto |
1 |
Bit 0 = 1 for scroll bar objects. |
46 |
frs |
2 |
Frame style structure (ignored for scroll bar objects). |
48 |
(Reserved) |
4 |
Reserved; must be 0 (zero). |
52 |
iVal |
2 |
Scroll bar position. |
54 |
iMin |
2 |
Scroll bar minimum value. |
56 |
iMax |
2 |
Scroll bar maximum value. |
58 |
dInc |
2 |
Amount to scroll when the arrow is clicked. |
60 |
dPage |
2 |
Amount to scroll when the scroll bar is clicked. |
62 |
fHoriz |
2 |
= 1 if the scroll bar is horizontal. |
64 |
dxScroll |
2 |
Width of the scroll bar. |
66 |
grbit |
2 |
Option flags (shown LSB to MSB): |
68 |
cchName |
1 |
Length of the name (null if no name). |
69 |
stName |
var |
Name (null if no name; may contain a padding byte to force word-boundary alignment). |
var |
cbFmla1 |
2 |
Length of the FMLA structure for the attached macro (never null). |
var |
fmla1 |
var |
FMLA structure for the attached macro (see "FMLA Structure"). |
var |
cbFmla2 |
2 |
Length of the FMLA structure for the cell link (never null). |
var |
fmla2 |
var |
FMLA structure for the cell link (see "FMLA Structure"). |
Spinner Object Fields
Offset |
Name |
Size |
Contents |
38 |
icvBack |
1 |
Index to the color palette for background color (fixed for spinner objects). |
39 |
icvFore |
1 |
Index to the color palette for foreground color (fixed for spinner objects). |
40 |
fls |
1 |
Fill pattern (ignored for spinner objects). |
41 |
grbit |
1 |
Option flags (ignored for spinner objects). |
Offset |
Name |
Size |
Contents |
42 |
icv |
1 |
Index to the color palette for line color (fixed for spinner objects). |
43 |
lns |
1 |
Line style (ignored for spinner objects). |
44 |
lnw |
1 |
Line weight (ignored for spinner objects). |
45 |
fAuto |
1 |
Bit 0 = 1 for spinner objects. |
46 |
frs |
2 |
Frame style structure (ignored for spinner objects). |
48 |
(Reserved) |
4 |
Reserved; must be 0 (zero). |
52 |
iVal |
2 |
Spinner position. |
54 |
iMin |
2 |
Spinner minimum value. |
56 |
iMax |
2 |
Spinner maximum value. |
58 |
dInc |
2 |
Amount to scroll when the spinner is clicked. |
60 |
(Reserved) |
2 |
Reserved; must be 0 (zero). |
62 |
fHoriz |
2 |
= 1 if the spinner is horizontal. |
64 |
dxScroll |
2 |
Width of the spinner. |
66 |
grbit |
2 |
Option flags (shown LSB to MSB): |
68 |
cchName |
1 |
Length of the name (null if no name). |
69 |
stName |
var |
Name (null if no name; may contain a padding byte to force word-boundary alignment). |
var |
cbFmla1 |
2 |
Length of the FMLA structure for the attached macro (never null). |
var |
fmla1 |
var |
FMLA structure for the attached macro (see "FMLA Structure"). |
var |
cbFmla2 |
2 |
Length of the FMLA structure for the cell link (never null). |
var |
fmla2 |
var |
FMLA structure for the cell link (see "FMLA Structure"). |