Функция SetConsoleWindowInfo

Функция SetConsoleWindowInfo устанавливает текущий размер и позицию окна экранного буфера консоли.

Синтаксис

BOOL SetConsoleWindowInfo(

HANDLE 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

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz