导航:  Windows Controls Procedures > Rich Edit Control > Structures >

PARAFORMAT2

上一页返回章节概述下一页

描述

 

The 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. Rich Edit 2.0 allows you to use either structure with the EM_GETPARAFORMAT and EM_SETPARAFORMAT messages.

 

C/C++ 语法

 

typedef struct _paraformat {

UINT cbSize;

DWORD dwMask;

WORD  wNumbering;

WORD  wEffects;

LONG  dxStartIndent;

LONG  dxRightIndent;

LONG  dxOffset;

WORD  wAlignment;

SHORT cTabCount;

LONG  rgxTabs[MAX_TAB_STOPS];

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;

#define  wEffects  wReserved

 

FreeBasic Syntax

 

TYPE PARAFORMAT2

cbSize           AS UINT

dwMask           AS DWORD

wNumbering       AS WORD

wEffects         AS WORD

dxStartIndent    AS LONG

dxRightIndent    AS LONG

dxOffset         AS LONG

wAlignment       AS WORD

cTabCount        AS SHORT

rgxTabs(0 TO 31) AS LONG

dySpaceBefore    AS LONG

dySpaceAfter     AS LONG

dyLineSpacing    AS LONG

sStyle           AS SHORT

bLineSpacingRule AS UBYTE

bOutlineLevel    AS UBYTE

wShadingWeight   AS WORD

wShadingStyle    AS WORD

wNumberingStart  AS WORD

wNumberingStyle  AS WORD

wNumberingTab    AS WORD

wBorderSpace     AS WORD

wBorderWidth     AS WORD

wBorders         AS WORD

END TYPE

 

成员

 

cbSize

 

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

 

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.

 

PFM_ALIGNMENT

The wAlignment member is valid.

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_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.

 

PFM_DONOTHYPHEN

The PFE_DONOTHYPHEN value is valid.

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.

 

wNumbering

 

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.

 

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

 

2

Uses Arabic numbers (1, 2, 3, ...).

3

Uses lowercase letters (a, b, c, ...).

4

Uses uppercase letters (A, B, C, ...).

5

Uses lowercase Roman numerals (i, ii, iii, ...).

6

Uses uppercase Roman numerals (I, II, III, ...).

7

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

 

wEffects

 

This member is also known as wReserved for 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 Text Object Model (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.

 

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 (in Rich Edit 3.0 only).

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.

PFE_TABLE

The paragraph is a table row.

 

dxStartIndent

 

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

 

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

 

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

 

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

 

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

Rich Edit 2.0: Paragraphs are justified. This value is included for compatibility with TOM interfaces; rich edit controls earlier than Rich Edit 3.0 display the text aligned with the left margin.

PFA_FULL_INTERWORD

Paragraphs are justified by expanding the blanks alone.

 

cTabCount

 

Number of tab stops defined in the rgxTabs array.

 

rgxTabs

 

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 Rich Edit 3.0.

 

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.

 

0

No leader

1

Dotted leader

2

Dashed leader

3

Underlined leader

4

Thick line leader

5

Double line leader

 

dySpaceBefore

 

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

 

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

 

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

 

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 Microsoft Word; the rich edit control stores the value but does not use it to display the text.

 

bLineSpacingRule

 

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

 

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

 

Reserved; must be zero.

 

wShadingWeight

 

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

 

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.

 

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.

 

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

 

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

 

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.

 

0

Follows the number with a right parenthesis.

&H100

Encloses the number in parentheses.

&H200

Follows the number with a period.

&H300

Displays only the number.

&H400

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

&H8000

Starts a new number with wNumberingStart.

 

wNumberingTab

 

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 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

 

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

 

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

 

wBorders

 

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.

 

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.

 

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.

 

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

 

最低操作系统

 

Windows 95 with Rich Edit 2.0, Windows 98, Windows NT 4.0.