Функция FillConsoleOutputAttribute

Важно!

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

Задает атрибуты символов для указанного числа ячеек символов, начиная с указанных координат в буфере экрана.

Синтаксис

BOOL WINAPI FillConsoleOutputAttribute(
  _In_  HANDLE  hConsoleOutput,
  _In_  WORD    wAttribute,
  _In_  DWORD   nLength,
  _In_  COORD   dwWriteCoord,
  _Out_ LPDWORD lpNumberOfAttrsWritten
);

Параметры

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

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

nLength [in]
Число символьных ячеек, заданных указанными атрибутами цвета.

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

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

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

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

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

Замечания

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

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

Совет

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

Requirements

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

См. также

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

COORD

FillConsoleOutputCharacter

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

SetConsoleTextAttribute

WriteConsoleOutputAttribute