Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Размер буфера окна и дисплея




Размер дисплейного буфера выражается в знакоместах. Ширина – это число символов в строке, а высота – число строк. С каждым дисплейным буфером связано окно консоли, в котором отображается содержимое прямоугольной области дисплейного буфера. Окно определяется путем указания координат левого верхнего угла и правого нижнего, в знакоместах.

Дисплейный буфер может иметь любой размер, ограниченный только доступной памятью. Размеры окна не могут превышать размеры дисплейного буфера и, естественно, размеры дисплея компьютера. Кроме того размеры окна зависят от текущего размера шрифта, которым управляет исключительно пользователь.

Функция GetConsoleScreenBufferInfo() возвращает следующую информацию о дисплейном буфере и его окне:

· текущий размер дисплейного буфера;

· позиция курсора и цветовые атрибуты;

· текущая позиция окна;

· максимально возможный размер окна, зависящий от размера буфера, размера шрифта и собственно дисплея компьютера.

 

Функция GetLargestConsoleWindowSize() возвращает максимальный размер окна консоли, зависящий от текущего шрифта и размера дисплея. Этот размер отличается от размера, возвращаемого GetConsoleScreenBufferInfo(), тем, что размер дисплейного буфера игнорируется.

Изменить размер дисплейного буфера можно с помощью функции  SetConsoleScreenBufferSize(). Эта функция завершается с ошибкой при попытке установки размера дисплейного буфера меньшего, чем размер окна консоли.

С помощью функции SetConsoleWindowInfo() можно изменить размер или положение окна консоли. Функция завершается с ошибкой при попытке установки размера окна большего, чем размер дисплейного буфера или дисплея компьютера. Изменение размера окна активного дисплейного буфера приводит к изменению размера окна консоли, отображаемого на дисплее.

Процесс может изменить режим ввода консоли таким образом, чтобы можно было получать ввод в то время, когда пользователь изменяет размер дисплейного буфера. Если некоторое приложение допускает ввод, оно может использовать функцию GetConsoleScreenBufferInfo() для получения размера окна и дисплейного буфера при старте приложения. Эта информация в дальнейшем может быть использована для выбора способа и вида представления данных в окне консоли. Если пользователь изменит размеры дисплейного буфера, приложение может изменить способ отображения данных в окне. Например, приложение может изменить способ вывода текста в окно (text wrap) при изменении числа символов в строке. Для получения дополнительной информации см. «Низкоуровневые режимы консоли» (Low-Level Console Modes).










Последнее изменение этой страницы: 2018-04-12; просмотров: 334.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...