Функция
SetConsoleWindowInfoФункция
SetConsoleWindowInfo устанавливает текущий размер и позицию окна экранного буфера консоли.Синтаксис
BOOL SetConsoleWindowInfo( hConsoleOutput, // дескриптор экранного буфера BOOL bAbsolute, // тип координаты CONST SMALL_RECT * lpConsoleWindow // углы окна ); |
Параметры
hConsoleOutput
[in] Дескриптор экранного буфера консоли. Дескриптор должен иметь право доступа
GENERIC_READ. Для получения дополнительной информации, см. статью Защита буфера и права доступа в консоли.bAbsolute
[in] ] Если этот параметр - ИСТИНА (TRUE), координаты устанавливают новые левый верхний и нижний правый углы окна. Если он - ЛОЖЬ (FALSE), координаты являются смещениями текущих координат угла окна
lpConsoleWindow
[in] Указатель на
структуру SMALL_RECT, которая устанавливает новые левый верхний и нижний правый углы окнаВозвращаемые значения
Если функция завершается успешно, величина возвращаемого значения - не нуль.
Если функция завершается с ошибкой, величина возвращаемого значения - нуль. Чтобы получить дополнительные данные об ошибках, вызовите функцию
GetLastErrorЗамечания
Функция завершается ошибкой, если прямоугольник заданного окна выходит за границы экранного буфера консоли. Это означает то, что
члены Top и Left прямоугольника lpConsoleWindow (или расчетные верхняя и левая координаты, если bAbsolute - ЛОЖЬ (FALSE)) не могут быть меньше, чем нуль. Соответственно, члены Bottom и Right (или расчетные нижняя и правая координаты) не могут быть больше, чем (высота экранного буфера - 1) и (ширина экранного буфера - 1). Функция также завершается ошибкой, если член Right (или расчетная правая координата) меньше чем или равна члену Left (или расчетной левой координате) или, если член Bottom (или расчетная нижняя координата) меньше чем или равна члену Top (или расчетной верхней координате).Для консолей с больше чем одним экранным буфером, изменение расположения окна одного экранного буфера не воздействует на расположение окон других экранных буферов.
Чтобы выяснять текущий размер и позицию окна экранного буфера, используйте
функцию GetConsoleScreenBufferInfo. Эта функция также возвращает максимальный размер окна, учитывая текущий размер экранного буфера, текущий размер шрифта, и размер экрана. Функция GetLargestConsoleWindowSize возвращает значение размера максимального окна для данного текущего шрифта и размера экрана, но она не учитывает размер экранного буфера консоли.Функция
SetConsoleWindowInfo может быть использована для прокручивания содержания экранного буфера консоли, путем перемещения позиции прямоугольника окна без изменения его размеров.Код примера
За примером обратитесь к статье
Прокрутка окна экранного буфера.Смотри также
Обзор консольных приложений, Функции консоли, GetConsoleScreenBufferInfo, GetLargestConsoleWindowSize, SMALL_RECT, ScrollConsoleScreenBuffer
Размещение и совместимость SetConsoleWindowInfo |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
Kernel32.lib |
Заголовочный файл |
|
- объявлено в |
Wincon.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |