Функция WriteConsoleOutputAttribute

Важно!

В этом документе описаны функции платформы консоли, которые больше не являются частью стратегии развития экосистемы. Мы не рекомендуем использовать это содержимое в новых продуктах, но мы будем продолжать поддерживать существующие использования для неопределенного будущего. Наше предпочтительное современное решение ориентировано на последовательности виртуальных терминалов для обеспечения максимальной совместимости в кроссплатформенных сценариях. Дополнительные сведения об этом решении по проектированию можно найти в классической консоли и в документе виртуального терминала .

Копирует ряд атрибутов символов в последовательные ячейки буфера экрана консоли, начиная с указанного расположения.

Синтаксис

BOOL WINAPI WriteConsoleOutputAttribute(
  _In_        HANDLE  hConsoleOutput,
  _In_  const WORD    *lpAttribute,
  _In_        DWORD   nLength,
  _In_        COORD   dwWriteCoord,
  _Out_       LPDWORD lpNumberOfAttrsWritten
);

Параметры

hConsoleOutput [ввод]
Дескриптор буфера экрана консоли. У дескриптора должно быть право на доступ GENERIC_WRITE. Дополнительные сведения см. в статье Безопасность и права доступа для буфера консоли.

lpAttribute [in]
Атрибуты, используемые при записи в буфер экрана консоли. Дополнительные сведения см. в разделе "Атрибуты символов".

nLength [in]
Количество ячеек буфера экрана, в которые будут скопированы атрибуты.

dwWriteCoord [in]
Структура COORD, указывающая координаты символов первой ячейки в буфере экрана консоли, в которую записываются атрибуты.

lpNumberOfAttrsWritten [out]
Указатель на переменную, которая получает количество атрибутов, фактически записанных в буфер экрана консоли.

Возвращаемое значение

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Замечания

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

Значения символов на позициях, записанных в них, не изменяются.

Совет

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

Requirements

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхний колонтитул ConsoleApi2.h (через WinCon.h, включая Windows.h)
Библиотека Kernel32.lib
DLL-библиотеки Kernel32.dll

См. также

Функции консоли

COORD

Функции вывода консоли низкого уровня

ReadConsoleOutput

ReadConsoleOutputAttribute

ReadConsoleOutputCharacter

WriteConsoleOutput

WriteConsoleOutputCharacter