Visual C++. Описание стандартных классов - CHARFORMAT2

ОГЛАВЛЕНИЕ


CHARFORMAT2

typedef struct _charformat2 {
   UINT    cbSize;
   DWORD    dwMask;
   DWORD    dwEffects;
   LONG    yHeight;
   LONG    yOffset;
   COLORREF  crTextColor;
   BYTE    bCharSet;
   BYTE    bPitchAndFamily;
   TCHAR    szFaceName [LF_FACESIZE];
   WORD    wWeight;
   SHORT    sSpacing;
   COLORREF  crBackColor;
   LCID    lcid;
   DWORD    dwReserved;
   SHORT    sStyle;
   WORD    wKerning;
   BYTE    bUnderlineType;
   BYTE    bAnimation;
   BYTE    bRevAuthor;
   BYTE    bReserved1;
 } CHARFORMAT2;

Переменные

  • cbSize - размер данной структуры в байтах. Должен быть определен до того, как объект данной структуры будет использован в элементе управления "расширенное текстовое поле". Может быть задан равным размеру структуры CHARFORMAT или CHARFORMAT2. Если переменная cbSize содержит размер объекта структуры CHARFORMAT, то в ней могут использоваться только элементы структуры CHARFORMAT.
  • dwMask - определяет, какие переменные данной структуры содержат достоверную информацию или должны быть установлены. Эта переменная может быть комбинацией следующих флагов, взятых из двух различных наборов. Первый из них определяет, какие из членов данной структуры содержат корректные значения, а второй - определяет корректные атрибуты переменной dwEffects. Для определения корректности значений членов данной структуры могут быть установлены следующие флаги:
    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 могут быть установлены следующие флаги.
    CFM_ALLCAPS - используется значение флага CFE_BOLD.
    CFM_BOLD - используется значение флага CFE_BOLD.
    CFM_COLOR - используется значение флага CFE_AUTOCOLOR или переменной crTextColor.
    CFM_DISABLED - используется значение флага CFE_DISABLED.
    CFM_EMBOSS - используется значение флага CFE_EMBOSS.
    CFM_HIDDEN - используется значение флага CFE_HIDDEN.
    CFM_IMPRINT - используется значение флага CFE_IMPRINT.
    CFM_ITALIC - используется значение флага CFE_ITALIC.
    CFM_LINK - используется значение флага CFM_LINK.
    CFM_OUTLINE - используется значение флага CFM_OUTLINE.
    CFM_PROTECTED - используется значение флага CFE_PROTECTED.
    CFM_REVISED - используется значение флага CFE_REVISED.
    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.
  • dwEffects - содержит список операций форматирования. Некоторые флаги включены только для обеспечения совместимости с интерфейсом Text Object Model (Модель текстовых объектов или TOM). Элемент управления расширенное текстовое поле сохранит установленные значения, но не будет использовать их при выводе текста. Может представлять собой комбинацию следующих значений.
    CFE_ALLCAPS - для вывода текста будут использоваться только заглавные буквы. Это значение не влияет на вывод текста в элементе управления. Используется только в версиях, предшествующих версии Rich Edit 3.0.
    CFE_AUTOCOLOR - цвет текста принимает значение, возвращаемое функцией GetSysColor (COLOR_WINDOWTEXT). Если этот флаг установлен, значение переменной crTextColor игнорируется.
    CFE_BOLD - текст отображается жирным шрифтом.
    CFE_DELETED - текст помечается как уничтоженный.
    CFE_EMBOSS - текст рельефно выделяется. Это значение не влияет на вывод текста в элементе управления.
    CFE_HIDDEN - в Rich Edit 3.0 и более поздних версиях текст не выводится.
    CFE_IMPRINT - текст отображается как впечатанный. Это значение не влияет на вывод текста в элементе управления.
    CFE_ITALIC - текст отображается курсивом.
    CFE_LINK - элемент управления расширенное текстовое поле посылает извещение EN_LINK при получении сообщений мыши о нахождении ее указателя на тексте, для которого установлен данный флаг.
    CFE_OUTLINE - текст выводится контурными буквами. Это значение не влияет на вывод текста в элементе управления.
    CFE_PROTECTED - устанавливается запрет на внесение изменений в параметры шрифта. При попытке внесения в него изменений посылается сообщение EN_PROTECTED.
    CFE_REVISION - текст отмечается как измененный.
    CFE_SHADOW - текст выводится оттененными знаками. Это значение не влияет на вывод текста в элементе управления.
    CFE_SMALLCAPS - текст выводится маленькими заглавными буквами. Это значение не влияет на вывод текста в элементе управления.
    CFE_STRIKEOUT - производится зачеркивание текста.
    CFE_SUBSCRIPT - выводится подстрочный текст. Флаги CFE_SUBSCRIPT и CFE_SUPERSCRIPT несовместимы. В обоих случаях в элементе управления вычисляется смещение и используется шрифт меньшего размера. Вместо установки этих флагов пользователь может использовать переменные данной структуры yHeight и yOffset для непосредственного задания размера шрифта и смещения надстрочного и подстрочного текста.
    CFE_SUPERSCRIPT - выводится надстрочный текст.
    CFE_UNDERLINE - производится подчеркивание текста.
  • yHeight - определяет высоту символов в пиках. Пика равняется 1/1440 дюйма или 1/20 точки принтера. Для использования этой переменной в перемененной dwMask должен быть установлен флаг CFM_SIZE.
  • yOffset - смещение символа относительно базовой линии, заданное в пиках. Если эта величина имеет положительное значение, то символ является верхним индексом, если негативное - нижним индексом. Для использования этой переменной в перемененной dwMask должен быть установлен флаг CFM_OFFSET.
  • crTextColor - определяет цвет текста. Для использования этой переменной в перемененной dwMask должен быть установлен флаг CFM_COLOR. Эта величина игнорируется, если определена операция форматирования CFE_AUTOCOLOR. Для заполнения объектов структуры COLORREF может использоваться макрос RGB.
  • bCharSet - определяет используемый набор символов. Этот аргумент может принимать те же значения, что и переменная lfCharSet в структуре LOGFONT. Для использования этой переменной в перемененной dwMask должен быть установлен флаг CFM_CHARSET.
  • bPitchAndFamily - определяет будет ли шрифт иметь фиксированную или переменную ширину литер, а также семейство, к которому принадлежит данный шрифт. Этот аргумент может принимать те же значения, что и переменная lfPitchAndFamily в структуре LOGFONT.
  • szFaceName - текстовая строка, завершающаяся нулем, в которой хранится имя шрифта. Для использования этой переменной в перемененной dwMask должен быть установлен флаг CFM_FACE.
  • wWeight - определяет начертание шрифта. Этот аргумент может принимать те же значения, что и переменная lfWeight в структуре LOGFONT. Для использования этой переменной в перемененной dwMask должен быть установлен флаг CFM_WEIGHT.
  • sSpacing - горизонтальное расстояние между символами в пиках. Это значение не влияет на вывод текста в элементе управления. Оно включено для обеспечения совместимости с интерфейсом Text Object Model (TOM). Для использования этой переменной в перемененной dwMask должен быть установлен флаг CFM_SPACING.
  • crBackColor - цвет фона. Для использования этой переменной в перемененной dwMask должен быть установлен флаг CFM_BACKCOLOR. Для заполнения объектов структуры COLORREF может использоваться макрос RGB.
  • lcid - 32-разрядный локальный идентификатор, младшее слово которого содержит идентификатор языка, а старшее слово - идентификатор сортировки. Часть старшего слова данного идентификатора зарезервирована. Это значение не влияет на вывод текста в элементе управления расширенное текстовое поле, но оно может использоваться при проверке правописания и грамматики. Для создания значения LCID может использоваться макрос MAKELCID. Для использования этой переменной в перемененной dwMask должен быть установлен флаг CFM_LCID.
  • dwReserved - зарезервирована, должна иметь нулевое значение.
  • sStyle - дескриптор стиля символа. Это значение не влияет на вывод текста в элементе управления. Оно включено для обеспечения совместимости с интерфейсом Text Object Model (TOM). Для использования этой переменной в перемененной dwMask должен быть установлен флаг CFM_STYLE.
  • wKerning - размер шрифта (yHeight), начиная с которого апроши уменьшаются. Это значение не влияет на вывод текста в элементе управления. Оно включено для обеспечения совместимости с интерфейсом Text Object Model (TOM). Для использования этой переменной в перемененной dwMask должен быть установлен флаг CFM_KERNING.
  • bUnderlineType - определяет тип подчеркивания. Для использования этой переменной в перемененной dwMask должен быть установлен флаг CFM_UNDERLINETYPE. Может принимать одно из следующих значений:
    CFU_CF1UNDERLINE - использует тот же стиль подчеркивания. что и CHARFORMAT;
    CFU_UNDERLINE - подчеркивание сплошной линией;
    CFU_UNDERLINEDOTTED - подчеркивание пунктирной линией. В версиях, предшествующих Rich Edit 3.0, текст подчеркивается сплошной линией;
    CFU_UNDERLINEDOUBLE - подчеркивание двойной линией. В расширенном текстовом поле будет произведено подчеркивание сплошной линией;
    CFU_UNDERLINENONE - подчеркивание отсутствует. Устанавливается по умолчанию;
    CFU_UNDERLINEWORD - подчеркиваются только слова. В расширенном текстовом поле будет произведено подчеркивание всего текста сплошной линией.
  • bAnimation - тип анимации текста. Это значение не влияет на вывод текста в элементе управления. Оно включено для обеспечения совместимости с интерфейсом Text Object Model (TOM). Для использования этой переменной в перемененной dwMask должен быть установлен флаг CFM_ANIMATION.
  • bRevAuthor - индекс, идентифицирующий автора, вносящего изменения. В расширенном текстовом поле для различных индексов авторов используются различные цвета текста. Для использования этой переменной в перемененной dwMask должен быть установлен флаг CFM_REVAUTHOR. bReserved1 - зарезервирована, должна иметь нулевое значение.

Описание

Структура CHARFORMAT2 содержит информацию о форматировании символов в расширенном текстовом поле. Эта структура является расширением структуры CHARFORMAT для элемента управления Rich Edit 2.0. Rich Edit 2.0 позволяет использовать любую из этих структур в сообщениях EM_GETCHARFORMAT и EM_SETCHARFORMAT. Описание данной структуры содержится в файле заголовка Richedit.h.