Export (0) Print
Expand All

PARAFORMAT2 structure

Contains information about paragraph formatting attributes in a rich edit control. PARAFORMAT2 is a Microsoft Rich Edit 2.0 extension of the PARAFORMAT structure. Microsoft Rich Edit 2.0 allows you to use either structure with the EM_GETPARAFORMAT and EM_SETPARAFORMAT messages.

Syntax


typedef struct _paraformat {
  UINT  cbSize;
  DWORD dwMask;
  WORD  wNumbering;
  WORD  wEffects;
  LONG  dxStartIndent;
  LONG  dxRightIndent;
  LONG  dxOffset;
  WORD  wAlignment;
  SHORT cTabCount;
  LONG  rgxTabs;
  LONG  dySpaceBefore;
  LONG  dySpaceAfter;
  LONG  dyLineSpacing;
  SHORT sStyle;
  BYTE  bLineSpacingRule;
  BYTE  bOutlineLevel;
  WORD  wShadingWeight;
  WORD  wShadingStyle;
  WORD  wNumberingStart;
  WORD  wNumberingStyle;
  WORD  wNumberingTab;
  WORD  wBorderSpace;
  WORD  wBorderWidth;
  WORD  wBorders;
} PARAFORMAT2;

Members

cbSize

Type: UINT

Structure size, in bytes. Before passing this structure to a rich edit control, set cbSize to the size of the PARAFORMAT or PARAFORMAT2 structure. If cbSize equals the size of a PARAFORMAT structure, the control uses only the PARAFORMAT members.

dwMask

Type: DWORD

The members of the PARAFORMAT2 structure that contain valid information. The dwMask member can be a combination of the values from two sets of bit flags. One set indicates the structure members that are valid; another set indicates the valid attributes in the wEffects member.

Set the following values to indicate the valid structure members.

ValueMeaning
PFM_ALIGNMENT

The wAlignment member is valid.

PFM_ALL

A combination of the following values: PFM_STARTINDENT, PFM_RIGHTINDENT, PFM_OFFSET, PFM_ALIGNMENT, PFM_TABSTOPS, PFM_NUMBERING, PFM_OFFSETINDENT, and PFM_RTLPARA.

PFM_ALL2

A combination of the following values: PFM_ALL, PFM_EFFECTS, PFM_SPACEBEFORE, PFM_SPACEAFTER, PFM_LINESPACING, PFM_STYLE, PFM_SHADING, PFM_BORDER, PFM_NUMBERINGTAB, PFM_NUMBERINGSTART, and PFM_NUMBERINGSTYLE.

PFM_BORDER

The wBorderSpace, wBorderWidth, and wBorders members are valid.

PFM_LINESPACING

The dyLineSpacing and bLineSpacingRule members are valid.

PFM_NUMBERING

The wNumbering member is valid.

PFM_NUMBERINGSTART

The wNumberingStart member is valid.

PFM_NUMBERINGSTYLE

The wNumberingStyle member is valid.

PFM_NUMBERINGTAB

The wNumberingTab member is valid.

PFM_OFFSET

The dxOffset member is valid.

PFM_OFFSETINDENT

The dxStartIndent member is valid. If you are setting the indentation, dxStartIndent specifies the amount to indent relative to the current indentation.

PFM_OUTLINELEVEL

The bOutlineLevel member is valid.

PFM_RIGHTINDENT

The dxRightIndent member is valid.

PFM_SHADING

The wShadingWeight and wShadingStyle members are valid.

PFM_SPACEAFTER

The dySpaceAfter member is valid.

PFM_SPACEBEFORE

The dySpaceBefore member is valid.

PFM_STARTINDENT

The dxStartIndent member is valid and specifies the indentation from the left margin. If both PFM_STARTINDENT and PFM_OFFSETINDENT are specified, PFM_STARTINDENT takes precedence.

PFM_STYLE

The sStyle member is valid.

PFM_TABSTOPS

The cTabCount and rgxTabs members are valid.

 

Set the following values to indicate the valid attributes of the wEffects member.

ValueMeaning
PFM_DONOTHYPHEN

The PFE_DONOTHYPHEN value is valid.

PFM_EFFECTS

A combination of the following values: PFM_RTLPARA, PFM_KEEP, PFM_KEEPNEXT, PFM_TABLE, PFM_PAGEBREAKBEFORE, PFM_NOLINENUMBER, PFM_NOWIDOWCONTROL, PFM_DONOTHYPHEN, PFM_SIDEBYSIDE, and PFM_TABLEROWDELIMITER.

PFM_KEEP

The PFE_KEEP value is valid.

PFM_KEEPNEXT

The PFE_KEEPNEXT value is valid.

PFM_NOLINENUMBER

The PFE_NOLINENUMBER value is valid.

PFM_NOWIDOWCONTROL

The PFE_NOWIDOWCONTROL value is valid.

PFM_PAGEBREAKBEFORE

The PFE_PAGEBREAKBEFORE value is valid.

PFM_RTLPARA

The PFE_RTLPARA value is valid.

PFM_SIDEBYSIDE

The PFE_SIDEBYSIDE value is valid.

PFM_TABLE

The PFE_TABLE value is valid.

PFM_TABLEROWDELIMITER

The PFE_TABLEROWDELIMITER value is valid.

 

wNumbering

Type: WORD

Options used for bulleted or numbered paragraphs. To use this member, set the PFM_NUMBERING flag in the dwMask member.

This member can be one of the following values.

ValueMeaning
zero

No paragraph numbering or bullets.

PFN_BULLET

Insert a bullet at the beginning of each selected paragraph.

 

Rich Edit versions earlier than version 3.0 do not display paragraph numbers. However, for compatibility with Microsoft Text Object Model (TOM) interfaces, wNumbering can specify one of the following values. (The rich edit control stores the value but does not use it to display the text.)

ValueMeaning
PFN_ARABIC

Use Arabic numbers (0, 1, 2, and so on).

PFN_LCLETTER

Use lowercase letters (a, b, c, and so on).

PFN_LCROMAN

Use lowercase Roman letters (i, ii, iii, and so on).

PFN_UCLETTER

Use uppercase letters (A, B, C, and so on).

PFN_UCROMAN

Use uppercase Roman letters (I, II, III, and so on).

7

Uses a sequence of characters beginning with the Unicode character specified by the wNumberingStart member.

 

wEffects

Type: WORD

This member is also known as wReserved for Microsoft Rich Edit 1.0 because it was reserved.

Rich Edit 1.0:  Reserved; the value must be zero.

Rich Edit 2.0: A set of bit flags that specify paragraph effects. These flags are included only for compatibility with TOM interfaces; the rich edit control stores the value but does not use it to display the text.

This member can be a combination of the following values.

ValueMeaning
PFE_DONOTHYPHEN

Disables automatic hyphenation.

PFE_KEEP

No page break within the paragraph.

PFE_KEEPNEXT

No page break between this paragraph and the next.

PFE_NOLINENUMBER

Disables line numbering (not implemented).

PFE_NOWIDOWCONTROL

Disables widow and orphan control for the selected paragraph.

PFE_PAGEBREAKBEFORE

Inserts a page break before the selected paragraph.

PFE_RTLPARA

Displays text using right-to-left reading order (in Rich Edit 2.1 and later).

PFE_SIDEBYSIDE

Displays paragraphs side by side (not implemented).

PFE_TABLE

The paragraph is a table row.

PFE_TABLEROWDELIMITER

The paragraph is a start delimiter (U+FFF9 U+000D) or end delimiter (U+FFFB U+000D) of a row in a table.

 

dxStartIndent

Type: LONG

Indentation of the paragraph's first line, in twips. The indentation of subsequent lines depends on the dxOffset member. To use the dxStartIndent member, set the PFM_STARTINDENT or PFM_OFFSETINDENT flag in the dwMask member. If you are setting the indentation, use the PFM_STARTINDENT flag to specify an absolute indentation from the left margin; or use the PFM_OFFSETINDENT flag to specify an indentation relative to the paragraph's current indentation. Use either flag to retrieve the current indentation.

dxRightIndent

Type: LONG

Indentation of the right side of the paragraph, relative to the right margin, in twips. To use this member, set the PFM_RIGHTINDENT flag in the dwMask member.

dxOffset

Type: LONG

Indentation of the second and subsequent lines, relative to the indentation of the first line, in twips. The first line is indented if this member is negative or outdented if this member is positive. To use this member, set the PFM_OFFSET flag in the dwMask member.

wAlignment

Type: WORD

Paragraph alignment. To use this member, set the PFM_ALIGNMENT flag in the dwMask member. This member can be one of the following values.

ValueMeaning
PFA_LEFT

Paragraphs are aligned with the left margin.

PFA_RIGHT

Paragraphs are aligned with the right margin.

PFA_CENTER

Paragraphs are centered.

PFA_JUSTIFY

RichEdit 2.0: Paragraphs are justified. Rich edit controls earlier than RichEdit 3.0 display the text aligned with the left margin.

PFA_FULL_INTERWORD

Paragraphs are justified by expanding the blanks alone.

 

cTabCount

Type: SHORT

Number of tab stops defined in the rgxTabs array.

rgxTabs

Type: LONG

Array of absolute tab stop positions. Each element in the array specifies information about a tab stop. The 24 low-order bits specify the absolute offset, in twips. To use this member, set the PFM_TABSTOPS flag in the dwMask member.

Rich Edit 2.0: For compatibility with TOM interfaces, you can use the eight high-order bits to store additional information about each tab stop.

Bits 24-27 can specify one of the following values to indicate the tab alignment. These bits do not affect the rich edit control display for versions earlier than Microsoft Rich Edit 3.0.

ValueMeaning
0

Ordinary tab

1

Center tab

2

Right-aligned tab

3

Decimal tab

4

Word bar tab (vertical bar)

 

Bits 28-31 can specify one of the following values to indicate the type of tab leader. These bits do not affect the rich edit control display.

ValueMeaning
0

No leader

1

Dotted leader

2

Dashed leader

3

Underlined leader

4

Thick line leader

5

Double line leader

 

dySpaceBefore

Type: LONG

Size of the spacing above the paragraph, in twips. To use this member, set the PFM_SPACEBEFORE flag in the dwMask member. The value must be greater than or equal to zero.

dySpaceAfter

Type: LONG

Specifies the size of the spacing below the paragraph, in twips. To use this member, set the PFM_SPACEAFTER flag in the dwMask member. The value must be greater than or equal to zero.

dyLineSpacing

Type: LONG

Spacing between lines. For a description of how this value is interpreted, see the bLineSpacingRule member. To use this member, set the PFM_LINESPACING flag in the dwMask member.

sStyle

Type: SHORT

Text style. To use this member, set the PFM_STYLE flag in the dwMask member. This member is included only for compatibility with TOM interfaces and Word; the rich edit control stores the value but does not use it to display the text.

bLineSpacingRule

Type: BYTE

Type of line spacing. To use this member, set the PFM_LINESPACING flag in the dwMask member. This member can be one of the following values.

ValueMeaning
0

Single spacing. The dyLineSpacing member is ignored.

1

One-and-a-half spacing. The dyLineSpacing member is ignored.

2

Double spacing. The dyLineSpacing member is ignored.

3

The dyLineSpacing member specifies the spacingfrom one line to the next, in twips. However, if dyLineSpacing specifies a value that is less than single spacing, the control displays single-spaced text.

4

The dyLineSpacing member specifies the spacing from one line to the next, in twips. The control uses the exact spacing specified, even if dyLineSpacing specifies a value that is less than single spacing.

5

The value of dyLineSpacing / 20 is the spacing, in lines, from one line to the next. Thus, setting dyLineSpacing to 20 produces single-spaced text, 40 is double spaced, 60 is triple spaced, and so on.

 

bOutlineLevel

Type: BYTE

Reserved; must be zero.

wShadingWeight

Type: WORD

Percentage foreground color used in shading. The wShadingStyle member specifies the foreground and background shading colors. A value of 5 indicates a shading color consisting of 5 percent foreground color and 95 percent background color. To use these members, set the PFM_SHADING flag in the dwMask member. This member is included only for compatibility with Word; the rich edit control stores the value but does not use it to display the text.

wShadingStyle

Type: WORD

Style and colors used for background shading. Bits 0 to 3 contain the shading style, bits 4 to 7 contain the foreground color index, and bits 8 to 11 contain the background color index. To use this member, set the PFM_SHADING flag in the dwMask member. This member is included only for compatibility with Word; the rich edit control stores the value but does not use it to display the text.

The shading style can be one of the following values.

ValueMeaning
0

None

1

Dark horizontal

2

Dark vertical

3

Dark down diagonal

4

Dark up diagonal

5

Dark grid

6

Dark trellis

7

Light horizontal

8

Light vertical

9

Light down diagonal

10

Light up diagonal

11

Light grid

12

Light trellis

 

The foreground and background color indexes can be one of the following values.

ValueMeaning
0

Black

1

Blue

2

Cyan

3

Green

4

Magenta

5

Red

6

Yellow

7

White

8

Dark blue

9

Dark cyan

10

Dark green

11

Dark magenta

12

Dark red

13

Dark yellow

14

Dark gray

15

Light gray

 

wNumberingStart

Type: WORD

Starting number or Unicode value used for numbered paragraphs. Use this member in conjunction with the wNumbering member. This member is included only for compatibility with TOM interfaces; the rich edit control stores the value but does not use it to display the text or bullets. To use this member, set the PFM_NUMBERINGSTART flag in the dwMask member.

wNumberingStyle

Type: WORD

Numbering style used with numbered paragraphs. Use this member in conjunction with the wNumbering member. This member is included only for compatibility with TOM interfaces; the rich edit control stores the value but rich edit versions earlier than 3.0 do not use it to display the text or bullets. To use this member, set the PFM_NUMBERINGSTYLE flag in the dwMask member. This member can be one of the following values.

ValueMeaning
PFNS_PAREN

Follows the number with a right parenthesis.

PFNS_PARENS

Encloses the number in parentheses.

PFNS_PERIOD

Follows the number with a period.

PFNS_PLAIN

Displays only the number.

PFNS_NONUMBER

Continues a numbered list without applying the next number or bullet.

PFNS_NEWNUMBER

Starts a new number with wNumberingStart.

 

wNumberingTab

Type: WORD

Minimum space between a paragraph number and the paragraph text, in twips. Use this member in conjunction with the wNumbering member. The wNumberingTab member is included for compatibility with TOM interfaces; previous to Microsoft Rich Edit 3.0, the rich edit control stores the value but does not use it to display text. To use this member, set the PFM_NUMBERINGTAB flag in the dwMask member.

wBorderSpace

Type: WORD

The space between the border and the paragraph text, in twips. The wBorderSpace member is included for compatibility with Word; the rich edit control stores the values but does not use them to display text. To use this member, set the PFM_BORDER flag in the dwMask member.

wBorderWidth

Type: WORD

Border width, in twips. To use this member, set the PFM_BORDER flag in the dwMask member.

wBorders

Type: WORD

Border location, style, and color. Bits 0 to 7 specify the border locations, bits 8 to 11 specify the border style, and bits 12 to 15 specify the border color index. To use this member, set the PFM_BORDER flag in the dwMask member.

Specify the border locations using a combination of the following values in bits 0 to 7.

ValueMeaning
1

Left border.

2

Right border.

4

Top border.

8

Bottom border.

16

Inside borders.

32

Outside borders.

64

Autocolor. If this bit is set, the color index in bits 12 to 15 is not used.

 

Specify the border style using one of the following values for bits 8 to 11.

ValueMeaning
0

None

1

3/4 point

2

11/2 point

3

21/4 point

4

3 point

5

41/2 point

6

6 point

7

3/4 point double

8

11/2 point double

9

21/4 point double

10

3/4 point gray

11

3/4 point gray dashed

 

Specify the border color using one of the following values for bits 12 to 15. This value is ignored if the autocolor bit (bit 6) is set.

ValueMeaning
0

Black

1

Blue

2

Cyan

3

Green

4

Magenta

5

Red

6

Yellow

7

White

8

Dark blue

9

Dark cyan

10

Dark green

11

Dark magenta

12

Dark red

13

Dark yellow

14

Dark gray

15

Light gray

 

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

Richedit.h

See also

EM_GETPARAFORMAT
EM_SETPARAFORMAT
PARAFORMAT

 

 

Community Additions

ADD
Show:
© 2014 Microsoft