Функция
ScrollConsoleScreenBufferФункция
ScrollConsoleScreenBuffer перемещает блок данных в экранном буфере. Результатом перемещения может быть ограничение определяемого прямоугольника отсечения по границам, так что содержание экранного буфера консоли вне прямоугольника отсечения останется неизменным.Синтаксис
BOOL ScrollConsoleScreenBuffer( hConsoleOutput, // дескриптор экранного буфера CONST SMALL_RECT* lpScrollRectangle, // прямоугольник прокрутки CONST SMALL_RECT* lpClipRectangle , // прямоугольник отсечения COORD dwDestinationOrigin, // новое место CONST CHAR_INFO* lpFill // заполнение символами и цветомHANDLE ); |
Параметры
hConsoleOutput
[in] Дескриптор экранного буфера консоли. Дескриптор должен иметь право доступа
GENERIC_READ. Для получения дополнительной информации, см. статью Защита буфера и права доступа в консоли.lpScrollRectangle
[in] Указатель на
структуру SMALL_RECT, члены которой устанавливают левую верхнюю и нижнюю правую координаты прямоугольника экранного буфера консоли, который будет перемещен.lpClipRectangle
[in] Указатель на
структуру SMALL_RECT, члены которой устанавливают левую верхнюю и нижнюю правую координаты прямоугольника экранного буфера консоли, который занимается прокруткой. Этот указатель может иметь значение ПУСТО (NULL).dwDestinationOrigin
[in] Структура
COORD, которая устанавливает левый верхний угол нового местоположения содержания lpScrollRectangle[in] Указатель на
структуру CHAR_INFO, определяющую символы и атрибуты цвета, которые будут использованы для заполнении ячеек в пределах пересечения lpScrollRectangle и lpClipRectangle, оставленные пустыми в результате перемещения.Возвращаемые значения
Если функция завершается успешно, величина возвращаемого значения - не ноль.
Если функция завершается с ошибкой, величина возвращаемого значения - ноль. Чтобы получить расширенные данные об ошибках, вызовите функцию
GetLastError.Замечания
Функция
ScrollConsoleScreenBuffer копирует содержание прямоугольной области экранного буфера, определяемого параметром lpScrollRectangle, в другую область экранного буфера консоли. Целевой прямоугольник имеет те же самые размеры, что и прямоугольник lpScrollRectangle с его координатами левого верхнего угла, заданных параметром dwDestinationOrigin. Те части lpScrollRectangle, которые не перекрываются с целевым прямоугольником, заполняются символом и атрибутами цвета, определяемыми параметром lpFill.Прямоугольник отсечения применяется, чтобы сделать изменения и в
lpScrollRectangle прямоугольнике и целевом прямоугольнике. Например, если прямоугольник отсечения не включает в себя область, которая была бы заполнена содержанием параметра lpFill, первоначальное содержание области остается неизменным.Если область прокрутки или целевая область выходят за рамки размеров экранного буфера консоли, они отсекаются. Например, если
lpScrollRectangle является областью, содержащей (0,0) и (19,19), а dwDestinationOrigin - (10,15), целевой прямоугольник – это область, содержащаяся (10,15) и (29,34). Однако, если экранный буфер консоли - шириной 50 символов и высотой 30 символов, целевой прямоугольник отсекается до (10,15) и (29,29). Изменения экранного буфера консоли, также отсекаются согласно lpClipRectangle, если параметр задает структуру SMALL_RECT. Если прямоугольник отсечения задан как (0,0) и (49,19), изменяется только то, что встречается в этой области экранного буфера консоли.Windows NT /2000/XP:
эта функция использует или символы Unicode или 8-разрядные символы от текущей кодовой страницы консоли. Кодовая страница консоли вначале устанавливается по умолчанию как системная кодовая страница (OEM). Чтобы изменить кодовую страницу консоли, используйте функции SetConsoleCP или SetConsoleOutputCP, или используйте команды chcp или mode con cp select =.Windows 95/98/Me:
функция ScrollConsoleScreenBufferW поддерживает Microsoft Layer for Unicode. Чтобы использовать его, Вы должны добавить некоторые файлы к вашему приложению, как изложено в Microsoft Layer for Unicode для систем Windows 95/98/Me.Пример смотри в статье
Прокрутка содержания экранного буфера.Смотри также
Обзор консольных приложений, Функции консоли, CHAR_INFO, COORD, SetConsoleCP, SetConsoleOutputCP, SetConsoleWindowInfo, SMALL_RECT
Размещение и совместимость ScrollConsoleScreenBuffer |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
Kernel32.lib |
Заголовочный файл |
|
- объявлено в |
Wincon.h |
- включено в |
Windows.h |
Unicode |
Реализуется как Unicode и ANSI в версиях Windows NT/2000/XP. А также поддерживает Microsoft Layer for Unicode |
Замечания по платформе |
Не имеется |