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


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

Содержит сведения о форматировании символов в элементе управления расширенными изменениями. CHARFORMAT2 — это расширение Microsoft Rich Edit 2.0 структуры CHARFORMAT. Microsoft Rich Edit 2.0 позволяет использовать любую структуру с EM_GETCHARFORMAT и EM_SETCHARFORMAT сообщениями.

Синтаксис

typedef struct _charformat2a {
  UINT     cbSize;
  DWORD    dwMask;
  DWORD    dwEffects;
  LONG     yHeight;
  LONG     yOffset;
  COLORREF crTextColor;
  BYTE     bCharSet;
  BYTE     bPitchAndFamily;
  char     szFaceName[LF_FACESIZE];
  WORD     wWeight;
  SHORT    sSpacing;
  COLORREF crBackColor;
  LCID     lcid;
  union {
    DWORD dwReserved;
    DWORD dwCookie;
  };
  DWORD    dwReserved;
  SHORT    sStyle;
  WORD     wKerning;
  BYTE     bUnderlineType;
  BYTE     bAnimation;
  BYTE     bRevAuthor;
  BYTE     bUnderlineColor;
} CHARFORMAT2A;

Члены

cbSize

Тип: UINT

Задает размер структуры в байтах. Перед передачей этой структуры в элемент управления расширенными изменениями задайте cbSize размер или CHARFORMAT2 структуры CHARFORMAT. Если cbSize равен размеру структуры CHARFORMAT, элемент управления использует только элементы CHARFORMAT.

dwMask

Тип: DWORD

Указывает части структуры CHARFORMAT2, содержащей допустимые сведения. Элемент dwMask может быть сочетанием значений из двух наборов битовых флагов. Один набор указывает на допустимые элементы структуры. Другой набор указывает допустимые атрибуты в элементе dwEffects.

Задайте следующие значения, чтобы указать допустимые атрибуты элемента dwEffects.

Ценность Значение
CFM_ALL
Сочетание следующих значений: CFM_EFFECTS | CFM_SIZE | CFM_FACE | CFM_OFFSET | CFM_CHARSET
CFM_ALL2
Сочетание следующих значений: CFM_ALL | CFM_EFFECTS2 | CFM_BACKCOLOR | CFM_LCID | CFM_UNDERLINETYPE | CFM_WEIGHT | CFM_REVAUTHOR | CFM_SPACING | CFM_KERNING | CFM_STYLE | CFM_ANIMATION | CFM_COOKIE
CFM_ALLCAPS
Допустимое значение CFE_ALLCAPS.
CFM_EFFECTS
Сочетание следующих значений: CFM_EFFECTS2 | CFM_FONTBOUND | CFM_EXTENDED | CFM_MATHNOBUILDUP | CFM_MATH | CFM_MATHORDINARY
CFM_BOLD
Допустимое значение CFE_BOLD.
CFM_COLOR
Допустимое значение CFE_AUTOCOLOR или допустимый элемент crTextColor crTextColor.
CFM_COOKIE
Допустимое значение dwCookie.
CFM_DISABLED
Допустимое значение CFE_DISABLED.
CFM_EXTENDED
Допустимое значение CFE_EXTENDED.
CFM_EFFECTS
Сочетание следующих значений: CFM_BOLD | CFM_ITALIC | CFM_UNDERLINE | CFM_COLOR | CFM_STRIKEOUT | CFE_PROTECTED | CFM_LINK
CFM_EFFECTS2
Сочетание следующих значений: CFM_EFFECTS | CFM_DISABLED | CFM_SMALLCAPS | CFM_ALLCAPS | CFM_HIDDEN | CFM_OUTLINE | CFM_SHADOW | CFM_EMBOSS | CFM_IMPRINT | CFM_REVISED | CFM_SUBSCRIPT | CFM_SUPERSCRIPT | CFM_BACKCOLOR
CFM_EMBOSS
Допустимое значение CFE_EMBOSS.
CFM_FONTBOUND
Допустимое значение CFE_FONTBOUND.
CFM_HIDDEN
Допустимое значение CFE_HIDDEN.
CFM_IMPRINT
Допустимое значение CFE_IMPRINT.
CFM_ITALIC
Допустимое значение CFE_ITALIC.
CFM_LINK
Допустимое значение CFE_LINK.
CFM_LINKPROTECTED
Допустимое значение CFE_LINKPROTECTED.
CFM_MATH
Допустимое значение CFE_MATH.
CFM_MATHNOBUILDUP
Допустимое значение CFE_MATHNOBUILDUP.
CFM_MATHORDINARY
Допустимое значение CFE_MATHORDINARY.
CFM_OUTLINE
Допустимое значение CFE_OUTLINE.
CFM_PROTECTED
Допустимое значение CFE_PROTECTED.
CFM_REVISED
Допустимое значение CFE_REVISION.
CFM_SHADOW
Допустимое значение CFE_SHADOW.
CFM_SMALLCAPS
Допустимое значение CFE_SMALLCAPS.
CFM_STRIKEOUT
Допустимое значение CFE_STRIKEOUT.
CFM_SUBSCRIPT
Допустимые значения CFE_SUBSCRIPT и CFE_SUPERSCRIPT.
CFM_SUPERSCRIPT
Допустимые значения CFE_SUBSCRIPT и CFE_SUPERSCRIPT.
CFM_UNDERLINE
Допустимое значение CFE_UNDERLINE.
 

Задайте следующие значения, чтобы указать допустимые элементы структуры.

Ценность Значение
CFM_ANIMATION
Допустимый элемент bAnimation.
CFM_BACKCOLOR
Допустимый элемент crBackColor.
CFM_CHARSET
Допустимый элемент bCharSet .
CFM_COLOR
Элемент crTextColor действителен, если флаг CFE_AUTOCOLOR не задан в элементе dwEffects.
CFM_FACE
Допустимый элемент szFaceName.
CFM_KERNING
Допустимый элемент wKerning.
CFM_LCID
Допустимый элемент lcid.
CFM_OFFSET
Допустимый элемент yOffset.
CFM_REVAUTHOR
Допустимый элемент bRevAuthor.
CFM_SIZE
Допустимый элемент yHeight.
CFM_SPACING
Допустимый элемент sSpacing.
CFM_STYLE
Допустимый элемент sStyle.
CFM_UNDERLINETYPE
Допустимый элемент bUnderlineType.
CFM_WEIGHT
Допустимый элемент wWeight.

dwEffects

Тип: DWORD

Набор битовых флагов, указывающих эффекты символов. Некоторые флаги включены только для совместимости с интерфейсами текстовой объектной модели Майкрософт (TOM); Элемент управления расширенными изменениями сохраняет значение, но не использует его для отображения текста.

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

Ценность Значение
CFE_ALLCAPS
Символы — это все буквы с буквами. Значение не влияет на способ отображения текста элементом управления. Это значение применяется только к версиям, предшествующим microsoft Rich Edit 3.0.
CFE_AUTOBACKCOLOR
Цвет фона — это возвращаемое значение GetSysColor(COLOR_WINDOW). Если этот флаг задан, crBackColor член игнорируется.
CFE_AUTOCOLOR
Цвет текста — это возвращаемое значение GetSysColor(COLOR_WINDOWTEXT). Если этот флаг задан, элемент crTextColor игнорируется.
CFE_BOLD
Символы полужирны.
CFE_DISABLED
Символы отображаются с тенью, которая смещается на 3/4 точки или один пиксель, в зависимости от размера.
CFE_EMBOSS
Символы вытянуты. Значение не влияет на отображение текста элемента управления.
CFE_EXTENDED
Символы являются менее распространенными элементами скрипта. Шрифт, поддерживающий скрипт, должен проверять наличие глифов для таких символов.
CFE_FONTBOUND
Шрифт выбирается элементом управления расширенными изменениями, так как активный шрифт не поддерживает символы. Этот процесс называется привязкой шрифта.
CFE_HIDDEN
Для Microsoft Rich Edit 3.0 и более поздних версий символы не отображаются.
CFE_IMPRINT
Символы отображаются как отпечатанные символы. Значение не влияет на отображение текста элемента управления.
CFE_ITALIC
Символы курсивны.
CFE_LINK
Элемент управления расширенными изменениями может отправлять коды уведомлений EN_LINK при получении сообщений мыши, а указатель мыши — текстом с помощью эффекта CFE_LINK.
CFE_LINKPROTECTED
Символы являются частью понятной ссылки на имя.
CFE_MATH
Символы находятся в математической зоне.
CFE_MATHNOBUILDUP
Символы не участвуют в математическом построении. Например, при применении к /, объект /не будет использоваться для создания дроби.
CFE_MATHORDINARY
Символы отображаются как обычный текст в математической зоне.
CFE_OUTLINE
Символы отображаются как описанные символы. Значение не влияет на отображение текста элемента управления.
CFE_PROTECTED
Символы защищены; попытка изменить их приведет к EN_PROTECTED коду уведомлений.
CFE_REVISED
Символы помечены как измененные.
CFE_SHADOW
Символы отображаются как теневые символы. Значение не влияет на отображение текста элемента управления.
CFE_SMALLCAPS
Символы находятся в небольших буквах. Значение не влияет на отображение текста элемента управления.
CFE_STRIKEOUT
Символы вычеркиваются.
CFE_SUBSCRIPT
Символы являются подстроками. Значения CFE_SUPERSCRIPT и CFE_SUBSCRIPT являются взаимоисключающими. Для обоих значений элемент управления автоматически вычисляет смещение и меньший размер шрифта. Кроме того, можно использовать yHeight и yOffset членов для явного указания размера шрифта и смещения для подстрочных и надстрочных символов.
CFE_SUPERSCRIPT
Символы являются надстроочными.
CFE_UNDERLINE
Символы подчеркнуты.

yHeight

Тип: LONG

Задает высоту символа в витки (1/1440 дюйма или 1/20 точки принтера). Чтобы использовать этот элемент, задайте флаг CFM_SIZE в элементе dwMask.

yOffset

Тип: LONG

Смещение символов от базового плана в поворотах. Если значение этого элемента является положительным, символ является надстроочным символом; Если значение отрицательное, символ является подстрокой. Чтобы использовать этот элемент, задайте флаг CFM_OFFSET в элементе dwMask.

crTextColor

Тип: COLORREF

Цвет текста. Чтобы использовать этот элемент, задайте флаг CFM_COLOR в элементе dwMask. Этот элемент игнорируется, если указан эффект CFE_AUTOCOLOR символов. Чтобы создать COLORREF, используйте макрос RGB.

bCharSet

Тип: BYTE

Значение набора символов. Это может быть одно из значений, указанных для элемента lfCharSet структуры LOGFONT. Чтобы использовать этот элемент, задайте флаг CFM_CHARSET в элементе dwMask.

bPitchAndFamily

Тип: BYTE

Указывает семейство шрифтов и шаг. Этот элемент совпадает с lfPitchAndFamily членом структуры LOGFONT.

szFaceName[LF_FACESIZE]

Тип: TCHAR[LF_FACESIZE]

Массив символов, завершающий значение NULL, указывающий имя шрифта. Чтобы использовать этот элемент, задайте флаг CFM_FACE в элементе dwMask.

wWeight

Тип: WORD

Вес шрифта. Этот элемент совпадает с элементом lfWeight в структуре LOGFONT. Чтобы использовать этот элемент, задайте флаг CFM_WEIGHT в элементе dwMask.

sSpacing

Тип: SHORT

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

crBackColor

Тип: COLORREF

Цвет фона. Чтобы использовать этот элемент, задайте флаг CFM_BACKCOLOR в элементе dwMask. Этот элемент игнорируется, если указан эффект CFE_AUTOBACKCOLOR символов. Чтобы создать макрос, используйте макрос.

lcid

Тип: LCID

32-разрядный идентификатор языкового стандарта, содержащий идентификатор языка в нижнем слове, а также идентификатор сортировки и зарезервированное значение в верхнем слове. Этот элемент не влияет на текст, отображаемый элементом управления расширенными изменениями, но средства проверки орфографии и грамматики могут использовать его для решения проблем, зависящих от языка. Макрос можно использовать для создания значения LCID . Чтобы использовать этот элемент, задайте флаг CFM_LCID в элементе dwMask.

dwReserved

Тип: DWORD

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

Тип: DWORD

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

dwCookie

Тип: DWORD

Файл cookie клиента. Этот элемент непрозрачный для элемента управления расширенными изменениями.

sStyle

Тип: SHORT

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

wKerning

Тип: WORD

Значение размера шрифта, над которым должен быть символ (yHeight). Это значение не влияет на текст, отображаемый элементом управления расширенными изменениями; он включен для совместимости с интерфейсами TOM. Чтобы использовать этот элемент, задайте флаг CFM_KERNING в элементе dwMask.

bUnderlineType

Тип: BYTE

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

Ценность Значение
CFU_CF1UNDERLINE
Структура сопоставляет битовое подчеркивание CHARFORMATс CHARFORMAT2(т. е. выполняется тип подчеркивания CHARFORMAT для этого текста).
CFU_INVERT
Для композиции IME подделывая выборка.
CFU_UNDERLINE
Текст, подчеркнутый одной сплошной линией.
CFU_UNDERLINEDASH
Текст, подчеркнутый дефисом.
CFU_UNDERLINEDASHDOT
Текст, подчеркнутый пунктиром и пунктирной линией.
CFU_UNDERLINEDASHDOTDOT
Текст, подчеркнутый дефисом и удвоенной пунктирной линией.
CFU_UNDERLINEDOTTED
Текст, подчеркнутый пунктирной линией. Для версий выше, чем Microsoft Rich Edit 3.0, текст отображается с твердым подчеркиванием.
CFU_UNDERLINEDOUBLE
Текст, подчеркнутый двойной строкой. Элемент управления расширенными изменениями отображает текст с твердым подчеркиванием.
CFU_UNDERLINEDOUBLEWAVE
Отображается как CFU_UNDERLINEWAVE.
CFU_UNDERLINEHAIRLINE
Отображается как CFU_UNDERLINE.
CFU_UNDERLINEHEAVYWAVE
Отображается как CFU_UNDERLINEWAVE.
CFU_UNDERLINELONGDASH
Отображается как CFU_UNDERLINEDASH.
CFU_UNDERLINENONE
Нет подчеркивания. Это значение по умолчанию.
CFU_UNDERLINETHICK
Отображается как CFU_UNDERLINE.
CFU_UNDERLINETHICKDASH
Отображается как CFU_UNDERLINEDASH.
CFU_UNDERLINETHICKDASHDOT
Отображается как CFU_UNDERLINEDASHDOT.
CFU_UNDERLINETHICKDASHDOTDOT
Отображается как CFU_UNDERLINEDASHDOT.
CFU_UNDERLINETHICKDOTTED
Отображается как CFU_UNDERLINEDOT.
CFU_UNDERLINETHICKLONGDASH
Отображается как CFU_UNDERLINEDASH.
CFU_UNDERLINEWAVE
RichEdit 4.1 и более поздних: текст подчеркнут с волнистой линией.
CFU_UNDERLINEWORD
RichEdit 4.1 и более поздних версий: подчеркивание только слов. Элемент управления расширенными изменениями отображает текст с твердым подчеркиванием.

bAnimation

Тип: BYTE

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

bRevAuthor

Тип: BYTE

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

bUnderlineColor

Тип: BYTE

Цвет подчеркивания:

  • UnderlineColor_Black = 0x00;
  • UnderlineColor_Blue = 0x01;
  • UnderlineColor_Aqua = 0x02;
  • UnderlineColor_Lime = 0x03;
  • UnderlineColor_Fuchsia = 0x04;
  • UnderlineColor_Red = 0x05;
  • UnderlineColor_Yellow = 0x06;
  • UnderlineColor_White = 0x07;
  • UnderlineColor_Navy = 0x08;
  • UnderlineColor_Teal = 0x09;
  • UnderlineColor_Green = 0x0A;
  • UnderlineColor_Purple = 0x0B;
  • UnderlineColor_Maroon = 0x0C;
  • UnderlineColor_Olive = 0x0D;
  • UnderlineColor_DkGray = 0x0E;
  • UnderlineColor_LtGray = 0x0F;

Замечания

Чтобы отключить атрибут форматирования, задайте соответствующее значение в dwMask, но не задайте соответствующее значение в dwEffects. Например, чтобы отключить курсив, задайте CFM_ITALIC, но не устанавливайте CFE_ITALIC.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows Vista [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
заголовка richedit.h

См. также

CHARFORMAT

ColorREF

EM_GETCHARFORMAT

EM_SETCHARFORMAT

EN_PROTECTED

GetSysColor

LOGFONT

RGB