Составители:
Рубрика:
65
{for(int j=1;j<80;j++)
{gotoxy(j,ii);
printf("%c",str[i][j-1]);
}
ii++;i++;
if (ii==25){getch();
clrscr();
ii=1;}
}
getch();
}}
class WinText:public Window ,public Text //класс «окно для отображения текста»
{ int DeltaX,DeltaY; //величина прокрутки текста в окне по вертикали и горизонтали
public:
WinText(int numb=25,int xb=10,int yb=10,int a=60,int b=20): //конструктор
Window(xb,yb,a,b),Text(numb) //вызов конструкторов базовых классов
{DeltaX=0;DeltaY=0;}
void draw(); //переопределяем функцию отображения текста так, чтобы текст
//отображался в окне
char Control(); //функция, реализующая реакцию на нажатия клавиш
};
void WinText::draw()
{ wind::draw();
textcolor(color);
for(int i=0;i<dy&&i+DeltaY<UsedN;i++)
for (int j=0;j<dx;j++)
{gotoxy(j+y,i+x);
printf("%c",str[i+DeltaY][j+DeltaX]); //отображаем текст в окне с
учетом прокрутки
}}
char WinText::Control()
{ char ch;
ch=getch();
if (!ch)
{ ch=getch();
switch(ch) //обработка нажатия клавиш-стрелок
{case 72:if (DeltaY>0) {DeltaY--;draw();}break;
case 80:if (DeltaY<UsedN){DeltaY++;draw();}break;
case 75:if (DeltaX>0) {DeltaX--;draw();}break;
case 77:if (DeltaX<80-dy) {DeltaX++;draw();}
} }
return ch;
}
main()
{textbackground(0);
clrscr();
WinText w(50,2,2,10,15); //определяем объект – окно с буфером на 50 строк
// размером 10 на 15 с координатами верхнего левого угла 2,2
w.Read("lect9.cpp"); //считываем в буфер объекта содержимое файла lect9.cpp
w.draw(); //отображаем содержимое буфера в окне
{for(int j=1;j<80;j++)
{gotoxy(j,ii);
printf("%c",str[i][j-1]);
}
ii++;i++;
if (ii==25){getch();
clrscr();
ii=1;}
}
getch();
}}
class WinText:public Window ,public Text //класс «окно для отображения текста»
{ int DeltaX,DeltaY; //величина прокрутки текста в окне по вертикали и горизонтали
public:
WinText(int numb=25,int xb=10,int yb=10,int a=60,int b=20): //конструктор
Window(xb,yb,a,b),Text(numb) //вызов конструкторов базовых классов
{DeltaX=0;DeltaY=0;}
void draw(); //переопределяем функцию отображения текста так, чтобы текст
//отображался в окне
char Control(); //функция, реализующая реакцию на нажатия клавиш
};
void WinText::draw()
{ wind::draw();
textcolor(color);
for(int i=0;i0) {DeltaY--;draw();}break;
case 80:if (DeltaY0) {DeltaX--;draw();}break;
case 77:if (DeltaX<80-dy) {DeltaX++;draw();}
}}
return ch;
}
main()
{textbackground(0);
clrscr();
WinText w(50,2,2,10,15); //определяем объект – окно с буфером на 50 строк
// размером 10 на 15 с координатами верхнего левого угла 2,2
w.Read("lect9.cpp"); //считываем в буфер объекта содержимое файла lect9.cpp
w.draw(); //отображаем содержимое буфера в окне
65
Страницы
- « первая
- ‹ предыдущая
- …
- 63
- 64
- 65
- 66
- 67
- …
- следующая ›
- последняя »
