Сборник по задачам и примерам Assembler




Организация низкоуровнего консольного ввода-вывода - часть 8


SHORT Left; //х-координата верхнего левого угла

SHORT Top: //у-координата верхнего левого угла

SHORT Right: //х-координата нижнего правого угла

SHORT Bottom: //у-координата нижнего правого угла } SMALL_RECT:

При работе с функцией SetConsoleWindowInfo следует иметь в виду, что она возвращает ошибку (нулевое значение), если координаты видимой части экранного буфера указывают за его действительные границы. Максимально допустимый раз мер окна для данной консоли можно получить с помощью функции GetConsole-ScreenBufferlnfo. Таким образом, обе эти функции можно использовать для листания экранного буфера.

Для закрытия экранного буфера используется функция CloseHandle, которой передается дескриптор закрываемого экранного буфера.

B00L CloseHandle(HANDLE hObject);

Для того чтобы завершить рассмотрение функций, предназначенных для поддержки консольного приложения, перечислим те из них, что остались «за кадром».

функция Назначение
FiConsoleOutputAttribute Устанавливает цвет текста и фона для указанного числа символьных ячеек, начинающихся по указанным координатам в экранном буфере
Fi П ConsoleOutputCharacter Запись символа в экранный буфер указанное число раз по указанным координатам
Fl ushConsolelnputBuffer Запись на диск входного буфера консоли. Все входные записи во входном буфере консоли до настоящего момента времени удаляются
GenerateConsoleCtrl Event Посылка сигнала, определенного этой функцией, совместно использующим консоль процессам
GetConsoleCursorlnfo Предоставление информации о размере и видимости курсора для указанного экранного буфера
GetConsoleMode Предоставление информации о текущем входном режиме входного буфера консоли или текущем режиме вывода экранного буфера консоли
GetConsoleTitie Извлечение строки из области заголовка для текущего окна консоли
GetLargestConsoleWi ndowSIze Возвращает размер самого большого возможного окна консоли, основанного на текущем шрифте и размере изображения
GetNumberOfConsolelnputEvents Возвращает число непрочитанных записей ввода во входном буфере пульта
GetNumberOfConsoleMouseButtons Возвращает число кнопок на мыши, используемых текущей консолью
PeekConsolelnput Чтение данных из входного буфера консоли без их удаления
Scrol1ConsoleScreenBuffer Перемещение блока данных в экранном буфере. Действие перемещения может быть ограничено путем определения отсекающего прямоугольника. Содержание экранного буфера вне отсекающего прямоугольника будет неизменным
SetConsoleCursorlnfo Установка размера и видимости курсора для указанного экранного буфера консоли
SetConsoleMode Установка режима входного буфера консоли или режима вывода экранного буфера консоли
SetConsoleScreenBufferS1ze Изменение размера указанного экранного буфера консоли
SetStdHandle Установка некоторого дескриптора как дескриптора стандартного ввода, стандартного вывода или устройства ошибки. Может использоваться при перенаправлении ввода-вывода

 

 




Содержание  Назад