Электронная библиотека книг Александра Фролова и Григория Фролова.
Shop2You.ru Создайте свой интернет-магазин
Библиотека
Братьев
Фроловых

Программирование видеоадаптеров CGA, EGA и VGA

© Александр Фролов, Григорий Фролов
Том 3, М.: Диалог-МИФИ, 1992, 287 стр.

[Назад] [Содеожание] [Дальше]

14.14. Функция _settextwindow()

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

Вывод текста в окно происходит сверху вниз. После заполнения всего окна его содержимое автоматически прокручивается (свертывается) вверх.

Функция _settextwindow() не воздействует на выполнение функции _outtext() (для этого надо воспользоваться функцией _setviewport()).

Приведем прототип функции:

void _settextwindow( short y_up,   short x_left,
             short y_down, short x_right );

Параметры (x_left, y_up) определяют верхний левый угол окна, а параметры (x_right, y_down) - правый нижний угол относительно верхнего левого угла экрана.

Работу функции иллюстрирует следующий пример:

// Пример использования функции _settextwindow().

#include <time.h>
#include <stdio.h>
#include <conio.h>
#include <graph.h>

void main(void) {

   clock_t   end,
         wait = 0;


   _clearscreen(_GCLEARSCREEN);

   // определяем окно в центре экрана

   _settextwindow(8, 34, 17, 46);

   // функция _settextposition() задает координаты курсора
   // относительно левого верхнего угла окна

   _settextposition(5, 5);

   // функция _outtext() осуществляет запись строк символов в окно

   while(!kbhit()) {
      _outtext("0123456789");
      for(end = clock() + wait++; clock() < end;);
   }

   _settextwindow(10, 36, 15, 44);

   // очищаем новое окно

   _clearscreen(_GWINDOW);
   _settextposition(3, 4);
   printf("End!");
}
[Назад] [Содеожание] [Дальше]