OBJ: Describes a Graphic Object (5Dh)

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.

Record Data — BIFF8

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


ftCmo (15h)

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


ftEnd (00h)

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)


ftMacro (04h)

Offset

Name

Size

Contents

0

ft

2

= ftMacro (04h)

2

cb

2

Length of ftMacro

4

Reserved

var


ftButton (05h)

Offset

Name

Size

Contents

0

ft

2

= ftButton (05h)

2

cb

2

Length of ftButton

4

Reserved

var


ftGmo (06h)

Offset

Name

Size

Contents

0

ft

2

= ftGmo (06h)

2

cb

2

Length of ftGmo

4

Reserved

var


ftCf (07h)

Offset

Name

Size

Contents

0

ft

2

= ftCf (07h)

2

cb

2

Length of ftCf

4

(Reserved)

var

Reserved


ftPioGrbit (08h)

Offset

Name

Size

Contents

0

ft

2

= ftPioGrbit (08h)

2

cb

2

Length of ftPioGrbit

4

(Reserved)

var

Reserved


ftPictFmla (09h)

Offset

Name

Size

Contents

0

ft

2

= ftPictFmla (09h)

2

cb

2

Length of ftPictFmla

4

(Reserved)

var

Reserved


ftCbls (0Ah)

Offset

Name

Size

Contents

0

ft

2

= ftCbls (0Ah)

2

cb

2

Length of ftCbls

4

(Reserved)

var

Reserved


ftRbo (0Bh)

Offset

Name

Size

Contents

0

ft

2

= ftRbo (0Bh)

2

cb

2

Length of ftRbo

4

(Reserved)

var

Reserved


ftSbs (0Ch)

Offset

Name

Size

Contents

0

ft

2

= ftSbs (0Ch)

2

cb

2

Length of ftSbs

4

(Reserved)

var

Reserved


ftNts (0Dh)

Offset

Name

Size

Contents

0

ft

2

=ftNts (0Dh)

2

cb

2

Length of ftNts

4

(Reserved)

var

Reserved


ftSbsFmla (0Eh)

Offset

Name

Size

Contents

0

ft

2

= ftSbsFmla (0Eh)

2

cb

2

Length of ftSbsFmla

4

(Reserved)

var

Reserved


ftGboData (0Fh)

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


ftEdoData (10h)

Offset

Name

Size

Contents

0

ft

2

= ftEdoData (10h)

2

cb

2

Length of ftEdoData

4

(Reserved)

var

Reserved


ftRboData (11h)

Offset

Name

Size

Contents

0

ft

2

= ftRboData (11h)

2

cb

2

Length of ftRboData

4

(Reserved)

var

Reserved


ftCblsData (12h)

Offset

Name

Size

Contents

0

ft

2

= ftCblsData (12h)

2

cb

2

Length of ftCblsData

4

(Reserved)

var

Reserved


ftLbsData (13h)

Offset

Name

Size

Contents

0

ft

2

= ftLbsData (13h)

2

cb

2

Length of ftLbsData

4

(Reserved)

var

Reserved


ftCblsFmla (14h)

Offset

Name

Size

Contents

0

ft

2

= ftCblsFmla (14h)

2

cb

2

Length of ftCblsFmla

4

(Reserved)

var

Reserved


Record Data — BIFF5 and BIFF7

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:
Group object: OT = 00h
Line object: OT = 01h
Rectangle object: OT = 02h
Oval object: OT = 03h
Arc object: OT = 04h
Chart object: OT = 05h
Text object: OT = 06h
Button object: OT = 07h
Picture object: OT = 08h
Polygon object: OT = 09h
Check box object: OT = 0Bh
Option button object: OT = 0Ch
Edit box object: OT = 0Dh
Label object: OT = 0Eh
Dialog frame object: OT = 0Fh
Spinner object: OT = 10h
Scroll bar object: OT = 11h
List box object: OT = 12h
Group box object: OT = 13h
Drop-down object: OT = 14h

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:
Solid: lns = 0
Dash: lns = 1
Dot: lns = 2
Dash-dot: lns = 3
Dash-dot-dot: lns = 4
Null (unused): lns = 5
Dark gray: lns = 6
Medium gray: lns = 7
Light gray: lns = 8

40

lnw

1

Line weight:
Hairline: lnw = 0
Single: lnw = 1
Double: lnw = 2
Thick: lnw = 3

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):
Starts upper left, ends lower right: iqu = 0
Starts upper right, ends lower left: iqu = 1
Starts lower right, ends upper left: iqu = 2
Starts lower left, ends upper right: iqu = 3

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:
None: sest = 0
Open: sest = 1
Filled: sest = 2
Double-ended open: sest = 3
Double-ended filled: sest = 4

7–4

F0h

sesw

Arrowhead width:
Narrow: sesw = 0
Medium: sesw = 1
Wide: sesw = 2

1

3–0

0Fh

sesl

Arrowhead length:
Short: sesl = 0
Medium: sesl = 1
Long: sesl = 2

7–4

F0h

(Unused)


FMLA Structure

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
(Format Object dialog box, Patterns tab)

1

0002h

fShadow

= 1 if the rectangle has a shadow border
(Format Object dialog box, Patterns tab)

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):
Upper-right quadrant of the oval: iqu = 0
Upper-left quadrant of the oval: iqu = 1
Lower-left quadrant of the oval: iqu = 2
Lower-right quadrant of the oval: iqu = 3

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):
fLinked:1 = 1 if linked to a chart sheet
Reserved:15 Reserved; must be 0 (zero)


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):
= 0, no rotation (text appears left to right)
= 1, text appears top to bottom; letters are upright
= 2, text is rotated 90 degrees counterclockwise
= 3, text is rotated 90 degrees clockwise

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:
1 = left-aligned
2 = centered
3 = right-aligned
4 = justified

6–4

70h

alcV

Vertical text alignment:
1 = left-aligned
2 = centered
3 = right-aligned
4 = justified

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)


TXORUNS

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.

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):
= 0, no rotation (text appears left to right)
= 1, text appears top to bottom; letters are upright
= 2, text is rotated 90 degrees counterclockwise
= 3, text is rotated 90 degrees clockwise

62

(Reserved)

6

Reserved; must be 0 (zero).

68

grbit

2

Option flags (shown LSB to MSB):
fDefault:1 = 1 if this is the default button
fHelp:1 = 1 if this is the Help button
fCancel:1 = 1 if this is the cancel button
fDismiss:1 = 1 if this is the dismiss button
Reserved:12 Reserved; must be 0 (zero)

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:
1 = left-aligned
2 = centered
3 = right-aligned
4 = justified

6–4

70h

alcV

Vertical text alignment:
1 = left-aligned
2 = centered
3 = right-aligned
4 = justified


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:
= 00h Text format
= 01h Null format (no image data)
= 02h Windows metafile or Macintosh PICT
format
= 09h Windows bitmap 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)


Sheet Background in Microsoft Excel for Windows 95

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
= 1 if the check box is checked
= 2 if the check box is gray (mixed)

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):
fNo3d:1 = 1 if 3-D shading is turned off
fBoxOnly:1 = 1 if only the box is drawn
Reserved:14 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

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):
(Reserved):3 Reserved; must be 0 (zero)
fNo3d:1 = 1 if 3-D shading is turned off
(Reserved):12 Reserved; must be 0 (zero)

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):
f(reserved):2 Reserved; must be 0 (zero)
fValidIds:1 = 1 if idEdit is valid
fNo3d:1 = 1 if 3-D shading is turned off
(Reserved):12 Reserved; must be 0 (zero)

var

(Reserved)

2

Reserved; must be 0 (zero).

var

grbit

2

Option flags (shown LSB to MSB):
wStyle:2 Drop-down style:
0 = combo,
1 = combo edit,
2 = simple
3 = max
(Reserved):14 Reserved; must be 0 (zero)

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:
= 000, Text
= 001, Integer
= 010, Number
= 011, Reference
= 100, Formula

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):
fNo3d:1 = 1 if 3-D shading is off
(Reserved):15 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

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):
(Reserved):3 Reserved; must be 0 (zero).
fNo3d:1 = 1 if 3-D shading is off.
(Reserved):12 Reserved; must be 0 (zero).

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):
f(reserved):2 Reserved; must be 0 (zero).
fValidIds:1 = 1 if idEdit is valid.
fNo3d:1 = 1 if 3-D shading is off.
wListSelType:2 List box selection type:
0 = standard.
1 = multiselect.
2 = extended-select
(Reserved):10 Reserved; must be 0 (zero).

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.
= 1 if the option button is 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):
fNo3d:1 = 1 if 3-D shading is off.
fBoxOnly:1 = 1 if only the box is drawn.
Reserved:14 Reserved; must be 0 (zero).

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):
(Reserved):3 Reserved; must be 0 (zero).
fNo3d:1 = 1 if 3-D shading is off.
(Reserved):12 Reserved; must be 0 (zero).

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):
(Reserved):3 Reserved; must be 0 (zero).
fNo3d:1 = 1 if 3-D shading is off.
(Reserved):12 Reserved; must be 0 (zero).

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").