PARAFORMAT2结构 (Rich Edit 2.0)

包含有关富编辑控件中段落格式属性的信息。 PARAFORMAT2 是 PARAFORMAT 结构的 Microsoft Rich Edit 2.0 扩展。 Microsoft Rich Edit 2.0 允许将任一结构用于 EM_GETPARAFORMATEM_SETPARAFORMAT 消息。

语法

typedef struct _paraformat2 {
  UINT  cbSize;
  DWORD dwMask;
  WORD  wNumbering;
  union {
    WORD wReserved;
    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;

成员

cbSize

类型:UINT

结构大小(以字节为单位)。 将此结构传递给富编辑控件之前,请将 cbSize 设置为 paraFORMAT 或 PARAFORMAT2 结构 的大小。 如果 cbSize 等于 PARAFORMAT 结构的大小,则控件仅使用 PARAFORMAT 成员。

dwMask

类型:DWORD

包含有效信息的 PARAFORMAT2 结构的成员。 dwMask 成员可以是两组位标志中的值的组合。 一组指示有效结构成员;另一组指示 wEffects 成员中的有效属性。

设置以下值以指示有效的结构成员。

价值 意义
PFM_ALIGNMENT
wAlignment 成员有效。
PFM_ALL
以下值的组合:PFM_STARTINDENT、PFM_RIGHTINDENT、PFM_OFFSET、PFM_ALIGNMENT、PFM_TABSTOPS、PFM_NUMBERING、PFM_OFFSETINDENT和PFM_RTLPARA。
PFM_ALL2
以下值的组合:PFM_ALL、PFM_EFFECTS、PFM_SPACEBEFORE、PFM_SPACEAFTER、PFM_LINESPACING、PFM_STYLE、PFM_SHADING、PFM_BORDER、PFM_NUMBERINGTAB、PFM_NUMBERINGSTART和PFM_NUMBERINGSTYLE。
PFM_BORDER
wBorderSpacewBorderWidthwBorders 成员有效。
PFM_LINESPACING
dyLineSpacingbLineSpacingRule 成员有效。
PFM_NUMBERING
wNumbering 成员有效。
PFM_NUMBERINGSTART
wNumberingStart 成员有效。
PFM_NUMBERINGSTYLE
wNumberingStyle 成员有效。
PFM_NUMBERINGTAB
wNumberingTab 成员有效。
PFM_OFFSET
dxOffset 成员有效。
PFM_OFFSETINDENT
dxStartIndent 成员有效。 如果要设置缩进,dxStartIndent 指定相对于当前缩进的缩进量。
PFM_OUTLINELEVEL
bOutlineLevel 成员有效。
PFM_RIGHTINDENT
dxRightIndent 成员有效。
PFM_SHADING
wShadingWeight 和 wShadingStyle 成员 有效。
PFM_SPACEAFTER
dySpaceAfter 成员有效。
PFM_SPACEBEFORE
dySpaceBefore 成员有效。
PFM_STARTINDENT
dxStartIndent 成员有效,并指定左边距中的缩进。 如果同时指定了PFM_STARTINDENT和PFM_OFFSETINDENT,则PFM_STARTINDENT优先。
PFM_STYLE
sStyle 成员有效。
PFM_TABSTOPS
cTabCountrgxTabs 成员有效。
 

设置以下值以指示 wEffects 成员的有效属性。

价值 意义
PFM_DONOTHYPHEN
PFE_DONOTHYPHEN值有效。
PFM_EFFECTS
以下值的组合:PFM_RTLPARA、PFM_KEEP、PFM_KEEPNEXT、PFM_TABLE、PFM_PAGEBREAKBEFORE、PFM_NOLINENUMBER、PFM_NOWIDOWCONTROL、PFM_DONOTHYPHEN、PFM_SIDEBYSIDE和PFM_TABLEROWDELIMITER。
PFM_KEEP
PFE_KEEP值有效。
PFM_KEEPNEXT
PFE_KEEPNEXT值有效。
PFM_NOLINENUMBER
PFE_NOLINENUMBER值有效。
PFM_NOWIDOWCONTROL
PFE_NOWIDOWCONTROL值有效。
PFM_PAGEBREAKBEFORE
PFE_PAGEBREAKBEFORE值有效。
PFM_RTLPARA
PFE_RTLPARA值有效。
PFM_SIDEBYSIDE
PFE_SIDEBYSIDE值有效。
PFM_TABLE
PFE_TABLE值有效。
PFM_TABLEROWDELIMITER
PFE_TABLEROWDELIMITER值有效。

wNumbering

类型:WORD

用于项目符号或编号段落的选项。 若要使用此成员,请设置 dwMask 成员中的PFM_NUMBERING标志。

此成员可以是以下值之一。

价值 意义
没有段落编号或项目符号。
PFN_BULLET
在每个选定段落的开头插入项目符号。
 

低于版本 3.0 的丰富编辑版本不显示段落编号。 但是,为了与Microsoft 文本对象模型(TOM)接口兼容,wNumbering 可以指定以下值之一。 (富编辑控件存储值,但不使用它来显示文本。

价值 意义
PFN_ARABIC
使用阿拉伯语数字(0、1、2 等)。
PFN_LCLETTER
使用小写字母(a、b、c 等)。
PFN_LCROMAN
使用小写罗马字母(i、ii、iii 等)。
PFN_UCLETTER
使用大写字母(A、B、C 等)。
PFN_UCROMAN
使用大写罗马字母(I、II、III 等)。
7
使用以 wNumberingStart 成员指定的 Unicode 字符开头的字符序列。

wReserved

wEffects

类型:WORD

此成员也称为 Microsoft Rich Edit 1.0 的 wReserved,因为它已保留。

Rich Edit 1.0: 保留;该值必须为零。

Rich Edit 2.0: 一组指定段落效果的位标志。 这些标志仅用于与 TOM 接口的兼容性;富编辑控件存储值,但不使用它来显示文本。

此成员可以是以下值的组合。

价值 意义
PFE_DONOTHYPHEN
禁用自动断字符。
PFE_KEEP
段落中没有分页符。
PFE_KEEPNEXT
此段落和下一段之间没有分页符。
PFE_NOLINENUMBER
禁用行号(未实现)。
PFE_NOWIDOWCONTROL
禁用所选段落的寡妇和孤立控件。
PFE_PAGEBREAKBEFORE
在所选段落之前插入分页符。
PFE_RTLPARA
使用从右到左的阅读顺序显示文本(在 Rich Edit 2.1 及更高版本中)。
PFE_SIDEBYSIDE
并排显示段落(未实现)。
PFE_TABLE
段落是表格行。
PFE_TABLEROWDELIMITER
段落是表中行的起始分隔符(U+FFF9 U+000D)或结束分隔符(U+FFFB U+000D)。

dxStartIndent

类型:LONG

段落的第一行缩进(以 twips 为单位)。 后续行的缩进取决于 dxOffset 成员。 若要使用 dxStartIndent 成员,请设置 dwMask 成员中的PFM_STARTINDENT或PFM_OFFSETINDENT标志。 如果要设置缩进,请使用PFM_STARTINDENT标志从左边距指定绝对缩进;或使用PFM_OFFSETINDENT标志指定相对于段落的当前缩进的缩进。 使用任一标志检索当前缩进。

dxRightIndent

类型:LONG

段落右侧相对于右边距的缩进(以 twips 为单位)。 若要使用此成员,请设置 dwMask 成员中的PFM_RIGHTINDENT标志。

dxOffset

类型:LONG

第二行和后续行的缩进,相对于第一行的缩进,以 twips 为单位。 如果此成员为正数,则缩进第一行。如果此成员为正数,则缩进此成员。 若要使用此成员,请设置 dwMask 成员中的PFM_OFFSET标志。

wAlignment

类型:WORD

段落对齐方式。 若要使用此成员,请设置 dwMask 成员中的PFM_ALIGNMENT标志。 此成员可以是以下值之一。

价值 意义
PFA_LEFT
段落与左边距对齐。
PFA_RIGHT
段落与右边距对齐。
PFA_CENTER
段落居中。
PFA_JUSTIFY
RichEdit 2.0:段落是正当的。 早于 RichEdit 3.0 的丰富编辑控件显示与左边距对齐的文本。
PFA_FULL_INTERWORD
段落通过单独展开空白来对齐。

cTabCount

类型:SHORT

rgxTabs 数组中定义的制表位数。

rgxTabs[MAX_TAB_STOPS]

类型:LONG

绝对制表位位置的数组。 数组中的每个元素指定有关制表位的信息。 24 位低序位以 twips 为单位指定绝对偏移量。 若要使用此成员,请设置 dwMask 成员中的PFM_TABSTOPS标志。

Rich Edit 2.0: 为了与 TOM 接口兼容,可以使用八个高阶位来存储有关每个制表位的其他信息。

位 24-27 可以指定以下值之一来指示选项卡对齐方式。 这些位不会影响早于 Microsoft Rich Edit 3.0 的版本的丰富编辑控件显示。

价值 意义
0
普通选项卡
1
“中心”选项卡
2
右对齐选项卡
3
“小数”选项卡
4
Word 栏选项卡(垂直条)
 

位 28-31 可以指定以下值之一来指示制表符前导符的类型。 这些位不会影响丰富的编辑控件显示。

价值 意义
0
无领导者
1
点状前导符
2
虚线前导符
3
带下划线的前导符
4
粗线前导符
5
双线前导符

dySpaceBefore

类型:LONG

段落上方间距的大小(以 twips 为单位)。 若要使用此成员,请设置 dwMask 成员中的PFM_SPACEBEFORE标志。 该值必须大于或等于零。

dySpaceAfter

类型:LONG

指定段落下方间距的大小(以 twips 为单位)。 若要使用此成员,请设置 dwMask 成员中的PFM_SPACEAFTER标志。 该值必须大于或等于零。

dyLineSpacing

类型:LONG

行之间的间距。 有关如何解释此值的说明,请参阅 bLineSpacingRule 成员。 若要使用此成员,请设置 dwMask 成员中的PFM_LINESPACING标志。

sStyle

类型:SHORT

文本样式。 若要使用此成员,请设置 dwMask 成员中的PFM_STYLE标志。 此成员仅用于与 TOM 接口和 Word 的兼容性;富编辑控件存储值,但不使用它来显示文本。

bLineSpacingRule

类型:BYTE

行距的类型。 若要使用此成员,请设置 dwMask 成员中的PFM_LINESPACING标志。 此成员可以是以下值之一。

价值 意义
0
单个间距。 忽略 dyLineSpacing 成员。
1
一个半间距。 忽略 dyLineSpacing 成员。
2
双倍间距。 忽略 dyLineSpacing 成员。
3
dyLineSpacing 成员以 twips 为单位指定从一行到下一行的间距。 但是,如果 dyLineSpacing 指定小于单个间距的值,控件将显示单间距文本。
4
dyLineSpacing 成员以 twips 为单位指定从一行到下一行之间的间距。 即使 dyLineSpacing 指定小于单个间距的值,该控件也使用指定的确切间距。
5
dyLineSpacing/ 20 的值是行距(以行为单位)从一行到下一行。 因此,将 dyLineSpacing 设置为 20 将生成单空格文本,40 为双间距,60 为三倍间距,依此而行。

bOutlineLevel

类型:BYTE

保留;必须为零。

wShadingWeight

类型:WORD

底纹中使用的前景色百分比。 wShadingStyle 成员指定前景和背景底纹颜色。 值 5 表示底纹颜色由 5% 的前景色和 95% 的背景色组成。 若要使用这些成员,请设置 dwMask 成员中的PFM_SHADING标志。 此成员仅用于与 Word 的兼容性;富编辑控件存储值,但不使用它来显示文本。

wShadingStyle

类型:WORD

用于背景底纹的样式和颜色。 位 0 到 3 包含底纹样式,位 4 到 7 包含前景色索引,位 8 到 11 包含背景色索引。 若要使用此成员,请设置 dwMask 成员中的PFM_SHADING标志。 此成员仅用于与 Word 的兼容性;富编辑控件存储值,但不使用它来显示文本。

底纹样式可以是以下值之一。

价值 意义
0
没有
1
深色水平
2
深色垂直
3
深色下对角线
4
深色对角线
5
深色网格
6
深色槽
7
浅色水平
8
浅色垂直
9
浅色向下对角线
10
点亮对角线
11
浅色网格
12
浅色槽
 

前景和背景色索引可以是以下值之一。

价值 意义
0
1
2
青色
3
绿
4
品红
5
6
黄色
7
8
深蓝色
9
深青色
10
深绿色
11
深红
12
13
14
深灰色
15
浅灰色

wNumberingStart

类型:WORD

用于编号段落的数字或 Unicode 值。 将此成员与 wNumbering 成员结合使用。 此成员仅用于与 TOM 接口的兼容性;富编辑控件存储值,但不使用它来显示文本或项目符号。 若要使用此成员,请设置 dwMask 成员中的PFM_NUMBERINGSTART标志。

wNumberingStyle

类型:WORD

用于编号段落的编号样式。 将此成员与 wNumbering 成员结合使用。 此成员仅用于与 TOM 接口的兼容性;富编辑控件存储值,但早于 3.0 的丰富编辑版本不使用它来显示文本或项目符号。 若要使用此成员,请设置 dwMask 成员中的PFM_NUMBERINGSTYLE标志。 此成员可以是以下值之一。

价值 意义
PFNS_PAREN
后跟带右括号的数字。
PFNS_PARENS
将数字括在括号内。
PFNS_PERIOD
遵循带句点的数字。
PFNS_PLAIN
仅显示数字。
PFNS_NONUMBER
继续编号列表,而不应用下一个数字或项目符号。
PFNS_NEWNUMBER
使用 wNumberingStart启动一个新数字。

wNumberingTab

类型:WORD

段落号和段落文本之间的最小间距(以 twips 为单位)。 将此成员与 wNumbering 成员结合使用。 wNumberingTab 成员包含在内,以便与 TOM 接口兼容;在 Microsoft Rich Edit 3.0 之前,富编辑控件存储值,但不使用它来显示文本。 若要使用此成员,请设置 dwMask 成员中的PFM_NUMBERINGTAB标志。

wBorderSpace

类型:WORD

边框和段落文本之间的间距(以 twips 为单位)。 wBorderSpace 成员包含在内,以便与 Word 兼容;富编辑控件存储值,但不使用这些值来显示文本。 若要使用此成员,请设置 dwMask 成员中的PFM_BORDER标志。

wBorderWidth

类型:WORD

边框宽度(以 twips 为单位)。 若要使用此成员,请设置 dwMask 成员中的PFM_BORDER标志。

wBorders

类型:WORD

边框位置、样式和颜色。 位 0 到 7 指定边框位置,位 8 到 11 指定边框样式,位 12 到 15 指定边框颜色索引。 若要使用此成员,请设置 dwMask 成员中的PFM_BORDER标志。

使用位 0 到 7 中的以下值的组合指定边框位置。

价值 意义
1
左边框。
2
右边框。
4
上边框。
8
底部边框。
16
内边框。
32
外边框。
64
自动着色。 如果设置了此位,则不使用位 12 到 15 的颜色索引。
 

使用以下值之一为位 8 到 11 指定边框样式。

价值 意义
0
没有
1
3/4 个
2
11/2 个
3
21/4
4
3 磅
5
41/2
6
6 磅
7
3/4 分双
8
11/2 分双
9
21/4 积分双
10
3/4 点灰色
11
3/4 点灰色虚线
 

使用以下值之一为位 12 到 15 指定边框颜色。 如果设置了自动着色位(位 6),则忽略此值。

价值 意义
0
1
2
青色
3
绿
4
品红
5
6
黄色
7
8
深蓝色
9
深青色
10
深绿色
11
深红
12
13
14
深灰色
15
浅灰色

要求

要求 价值
最低支持的客户端 Windows Vista [仅限桌面应用]
支持的最低服务器 Windows Server 2003 [仅限桌面应用]
标头 richedit.h

另请参阅

EM_GETPARAFORMAT

EM_SETPARAFORMAT

PARAFORMAT