CHAR_INFO

Структура CHAR_INFO определяет Unicode- или ANSI-код символа и цветовые атрибуты (передний план и фон) экранной символьной ячейки. Эта структура используется консольными функциями для чтения и записи в консольный экранный буфер.

typedef struct _CHAR_INFO {
  // Unicode or ANSI character
  union {
      WCHAR UnicodeChar;
      CHAR AsciiChar;
  } Char;

  // Text and background colors
  WORD Attributes;
} CHAR_INFO, *PCHAR_INFO;

Элементы

Char
Определяет Unicode- или ANSI-код символа экранной ячейки в зависимости от используемых функций (Unicode или ANSI).
Attributes
Атрибуты можно разделить на два класса: цвет и DBCS. Все константы определены в заголовочном файле Wincon.h:
АтрибутОписание
FOREGROUND_BLUE Цвет текста содержит синий.
FOREGROUND_GREEN Цвет текста содержит зелёный.
FOREGROUND_RED Цвет текста содержит красный.
FOREGROUND_INTENSITY Цвет текста усилен.
BACKGROUND_BLUE Цвет фона содержит синий.
BACKGROUND_GREEN Цвет фона содержит зелёный.
BACKGROUND_RED Цвет фона содержит красный.
BACKGROUND_INTENSITY Цвет фона усилен.
COMMON_LVB_LEADING_BYTE DBCS: Leading byte.
COMMON_LVB_TRAILING_BYTE DBCS: Trailing byte.
COMMON_LVB_GRID_HORIZONTAL DBCS: Grid attribute: top horizontal.
COMMON_LVB_GRID_LVERTICAL DBCS: Grid attribute: left vertical.
COMMON_LVB_GRID_RVERTICAL DBCS: Grid attribute: right vertical.
COMMON_LVB_REVERSE_VIDEO DBCS: Reverse foreground and background attributes.
COMMON_LVB_UNDERSCORE DBCS: Underscore.
Атрибуты переднего плана (FOREGROUND_*) определяют цвет текста (символов). Атрибуты фона (BACKGROUND_*) определяют цвет, которым будет заполнена текстовая ячейка. Остальные атрибуты (COMMON_LVB_*) используются с DBCS.

Замечания

Смотрите также:
ReadConsoleOutput, ScrollConsoleScreenBuffer, WriteConsoleOutput