Поделиться через


структура PARAFORMAT2 (rich Edit 2.0)

Содержит сведения о атрибутах форматирования абзаца в элементе управления расширенными изменениями. PARAFORMAT2 — это расширение Microsoft Rich Edit 2.0 структуры PARAFORMAT. Microsoft Rich Edit 2.0 позволяет использовать любую структуру с EM_GETPARAFORMAT и EM_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
Допустимы wBorderSpace, wBorderWidthи элементов wBorders.
PFM_LINESPACING
Допустимы dyLineSpacing и члены bLineSpacingRule.
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
Допустимые члены cTabCount и rgxTabs.
 

Задайте следующие значения, чтобы указать допустимые атрибуты элемента 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

Параметры, используемые для маркированных или нумерованных абзацев. Чтобы использовать этот элемент, задайте флаг PFM_NUMBERING в элементе dwMask.

Этот элемент может быть одним из следующих значений.

Ценность Значение
ноль
Нумеровка абзаца или маркеров не выполняется.
PFN_BULLET
Вставьте маркер в начале каждого выбранного абзаца.
 

Расширенные версии редактирования, предшествующие версии 3.0, не отображают номера абзаца. Однако для совместимости с интерфейсами (TOM) microsoft 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.

wReserved

wEffects

Тип: WORD

Этот член также известен как wReserved для Microsoft Rich Edit 1.0, так как он был зарезервирован.

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

Отступ первой строки абзаца в поворотах. Отступ последующих строк зависит от элемента dxOffset. Чтобы использовать элемент dxStartIndent, задайте флаг PFM_STARTINDENT или PFM_OFFSETINDENT в члене dwMask. Если вы задаете отступ, используйте флаг PFM_STARTINDENT для указания абсолютной отступа из левого поля; или используйте флаг PFM_OFFSETINDENT, чтобы указать отступ относительно текущего отступа абзаца. Используйте любой флаг для получения текущей отступы.

dxRightIndent

Тип: LONG

Отступ правой стороны абзаца относительно правого поля в поворотах. Чтобы использовать этот элемент, задайте флаг PFM_RIGHTINDENT в элементе dwMask.

dxOffset

Тип: LONG

Отступ второй и последующих строк относительно отступа первой строки в поворотах. Первая строка отступается, если этот член является отрицательным или отступлен, если этот член положительный. Чтобы использовать этот элемент, задайте флаг PFM_OFFSET в элементе dwMask.

wAlignment

Тип: WORD

Выравнивание абзаца. Чтобы использовать этот элемент, задайте флаг PFM_ALIGNMENT в элементе dwMask. Этот элемент может быть одним из следующих значений.

Ценность Значение
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 бита с низким порядком указывают абсолютное смещение в поворотах. Чтобы использовать этот элемент, задайте флаг PFM_TABSTOPS в элементе dwMask.

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

Размер интервала над абзацем в поворотах. Чтобы использовать этот элемент, задайте флаг PFM_SPACEBEFORE в элементе dwMask. Значение должно быть больше или равно нулю.

dySpaceAfter

Тип: LONG

Задает размер интервала под абзацем в ветвях. Чтобы использовать этот элемент, задайте флаг PFM_SPACEAFTER в элементе dwMask. Значение должно быть больше или равно нулю.

dyLineSpacing

Тип: LONG

Интервал между линиями. Описание интерпретации этого значения см. в разделе элемент bLineSpacingRule. Чтобы использовать этот элемент, задайте флаг PFM_LINESPACING в элементе dwMask.

sStyle

Тип: SHORT

Стиль текста. Чтобы использовать этот элемент, задайте флаг PFM_STYLE в элементе dwMask. Этот член включен только для совместимости с интерфейсами TOM и Word; Элемент управления расширенными изменениями сохраняет значение, но не использует его для отображения текста.

bLineSpacingRule

Тип: BYTE

Тип интервала строк. Чтобы использовать этот элемент, задайте флаг PFM_LINESPACING в элементе dwMask. Этот элемент может быть одним из следующих значений.

Ценность Значение
0
Один интервал. Элемент dyLineSpacing игнорируется.
1
Интервал один с половиной. Элемент dyLineSpacing игнорируется.
2
Двойной интервал. Элемент dyLineSpacing игнорируется.
3
Элемент dyLineSpacing задает интервал междустрочного интервала в одну строку к следующей в ветвях. Однако если dyLineSpacing указывает значение, которое меньше одного интервала, элемент управления отображает одинарный текст.
4
Элемент dyLineSpacing задает интервал между одной строкой и следующей в поворотах. Элемент управления использует точный интервал, даже если dyLineSpacing указывает значение, которое меньше одного интервала.
5
Значение dyLineSpacing /20 — интервал в строках от одной строки до следующей. Таким образом, установка dyLineSpacing до 20 создает одинарный текст, 40 — двойной пробел, 60 — тройное пространство и т. д.

bOutlineLevel

Тип: BYTE

Скрытный; должно быть равно нулю.

wShadingWeight

Тип: WORD

Процентный цвет переднего плана, используемый в заливке. Элемент wShadingStyle задает цвета переднего плана и фона заливки. Значение 5 указывает цвет заливки, состоящий из 5 процентов цвета переднего плана и 95 процентов фона. Чтобы использовать эти элементы, задайте флаг PFM_SHADING в элементе dwMask. Этот элемент включен только для совместимости с Word; Элемент управления расширенными изменениями сохраняет значение, но не использует его для отображения текста.

wShadingStyle

Тип: WORD

Стиль и цвета, используемые для заливки фона. Биты от 0 до 3 содержат стиль заливки, биты от 4 до 7 содержат индекс цвета переднего плана, а биты от 8 до 11 содержат индекс цвета фона. Чтобы использовать этот элемент, задайте флаг PFM_SHADING в элементе dwMask. Этот элемент включен только для совместимости с 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

Начальное число или значение Юникода, используемое для нумерованных абзацев. Используйте этот элемент вместе с wNumbering. Этот член включен только для совместимости с интерфейсами TOM; Элемент управления расширенными изменениями сохраняет значение, но не использует его для отображения текста или маркеров. Чтобы использовать этот элемент, задайте флаг PFM_NUMBERINGSTART в элементе dwMask.

wNumberingStyle

Тип: WORD

Стиль нумерования, используемый с нумерованными абзацами. Используйте этот элемент вместе с wNumbering. Этот член включен только для совместимости с интерфейсами TOM; Элемент управления расширенными изменениями сохраняет значение, но более ранние версии 3.0 не используют его для отображения текста или маркеров. Чтобы использовать этот элемент, задайте флаг PFM_NUMBERINGSTYLE в элементе dwMask. Этот элемент может быть одним из следующих значений.

Ценность Значение
PFNS_PAREN
Следует за числом с правой скобкой.
PFNS_PARENS
Заключает число в скобки.
PFNS_PERIOD
Соответствует номеру с периодом.
PFNS_PLAIN
Отображается только число.
PFNS_NONUMBER
Продолжает нумерованный список без применения следующего числа или маркера.
PFNS_NEWNUMBER
Запускает новое число с wNumberingStart.

wNumberingTab

Тип: WORD

Минимальное пространство между номером абзаца и текстом абзаца в поворотах. Используйте этот элемент вместе с wNumbering. Элемент wNumberingTab включен для обеспечения совместимости с интерфейсами TOM; Ранее в Microsoft Rich Edit 3.0 элемент управления расширенными изменениями сохраняет значение, но не использует его для отображения текста. Чтобы использовать этот элемент, задайте флаг PFM_NUMBERINGTAB в элементе dwMask.

wBorderSpace

Тип: WORD

Пространство между границей и текстом абзаца в поворотах. Элемент wBorderSpace включен для совместимости с Word; Элемент управления расширенными изменениями сохраняет значения, но не использует их для отображения текста. Чтобы использовать этот элемент, задайте флаг PFM_BORDER в элементе dwMask.

wBorderWidth

Тип: WORD

Ширина границы в поворотах. Чтобы использовать этот элемент, задайте флаг PFM_BORDER в элементе dwMask.

wBorders

Тип: WORD

Расположение границы, стиль и цвет. Биты от 0 до 7 указывают расположения границ, биты от 8 до 11 указывают стиль границы, а биты от 12 до 15 указывают индекс цвета границы. Чтобы использовать этот элемент, задайте флаг PFM_BORDER в элементе dwMask.

Укажите расположения границ, используя сочетание следующих значений в битах от 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