На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

ScrollConsoleScreenBuffer



The ScrollConsoleScreenBuffer function moves a block of data in a screen buffer. The effects of the move can be limited by specifying a clipping rectangle, so the contents of the screen buffer outside the clipping rectangle are unchanged.

BOOL ScrollConsoleScreenBuffer(

HANDLE hConsoleOutput, // handle of a console screen buffer
CONST SMALL_RECT *lpScrollRectangle, // address of screen buffer rect. to move
CONST SMALL_RECT *lpClipRectangle, // address of affected screen buffer rect.
COORD dwDestinationOrigin, // new location of screen buffer rect.
CONST CHAR_INFO *lpFill // address of fill character and color
);


Parameters

hConsoleOutput

Identifies a console screen buffer. The handle must have GENERIC_WRITE access.

lpScrollRectangle

Points to a SMALL_RECT structure whose members specify the upper-left and lower-right coordinates of the screen buffer rectangle to be moved.

lpClipRectangle

Points to a SMALL_RECT structure whose members specify the upper-left and lower-right coordinates of the screen buffer rectangle that is affected by the scrolling. This pointer can be NULL.

dwDestinationOrigin

Specifies the upper-left corner of the new location of the lpScrollRectangle contents.

lpFill

Points to a CHAR_INFO structure that specifies the character and color attributes to be used in filling the cells within the intersection of lpScrollRectangle and lpClipRectangle that were left empty as a result of the move.



Return Values

If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

ScrollConsoleScreenBuffer copies the contents of a rectangular region of a screen buffer, specified by the lpScrollRectangle parameter, to another area of the screen buffer. The target rectangle has the same dimensions as the lpScrollRectangle rectangle with its upper-left corner at the coordinates specified by the dwDestinationOrigin parameter. Those parts of lpScrollRectangle that do not overlap with the target rectangle are filled in with the character and color attributes specified by the lpFill parameter.

The clipping rectangle applies to changes made in both the lpScrollRectangle rectangle and the target rectangle. For example, if the clipping rectangle does not include a region that would have been filled by the contents of lpFill, the original contents of the region are left unchanged.
If the scroll or target regions extend beyond the dimensions of the screen buffer, they are clipped. For example, if lpScrollRectangle is the region contained by (0,0) and (19,19) and dwDestinationOrigin is (10,15), the target rectangle is the region contained by (10,15) and (29,34). However, if the screen buffer is 50 characters wide and 30 characters high, the target rectangle is clipped to (10,15) and (29,29). Changes to the screen buffer are also clipped according to lpClipRectangle, if the parameter specifies a SMALL_RECT structure. If the clipping rectangle is specified as (0,0) and (49,19), only the changes that occur in that region of the screen buffer are made.

Windows NT: This function uses either Unicode characters or 8-bit characters from the console's current codepage. The console's codepage defaults initially to the system's OEM codepage. To change the console's codepage, use the SetConsoleCP or SetConsoleOutputCP functions, or use the chcp or mode con cp select= commands.

See Also

CHAR_INFO, SetConsoleCP, SetConsoleOutputCP, SetConsoleWindowInfo, SMALL_RECT


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

ScrollConsoleScreenBuffer



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

BOOL ScrollConsoleScreenBuffer(

ПРООПЕРИРУЙТЕ hConsoleOutput, // ручку консольного экранного буфера CONST SMALL_RECT *lpScrollRectangle, // адрес экранного буфера rect., чтобы перемещать CONST SMALL_RECT *lpClipRectangle, // адрес неестественного экранного буферного rect.
COORD dwDestinationOrigin, // НОВАЯ позиция экранного буферного rect.
CONST CHAR_INFO *АДРЕС lpFill // символа наполнителя и цвета
);


Параметры

hConsoleOutput

Идентифицирует консольный экранный буфер. Ручка должна иметь доступ GENERIC_WRITE.

lpScrollRectangle

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

lpClipRectangle

Точки на структуру SMALL_RECT чьих участников определяют верхнее левое и более низкое право координат экранного буферного прямоугольника, которое поражено прокруткой. Этот указатель может быть НЕДЕЙСТВИТЕЛЕН.

dwDestinationOrigin

Определяет верхний левый угол новой позиции содержания lpScrollRectangle.

lpFill

Точки на структуру 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: Эта функция использует или символы Уникода или 8- битовых символов из консольного текущего codepage. Консольный codepage устанавливается по умолчанию первоначально в системный codepage OEM. Для того, чтобы изменять консольный codepage, используйте SetConsoleCP или функции SetConsoleOutputCP, или используйте chcp или жулика режима cp выбирать= команды.

Смотри Также

CHAR_INFO, SetConsoleCP, SetConsoleOutputCP, SetConsoleWindowInfo, SMALL_RECT


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz