# 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