Составители:
Рубрика:
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 (DeltaY 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(); //отображаем содержимое буфера в окне 65
Страницы
- « первая
- ‹ предыдущая
- …
- 63
- 64
- 65
- 66
- 67
- …
- следующая ›
- последняя »