📄 emp1_13.cpp
字号:
// {emp1_13}
#include"tools.h"
gwindow gwnd1;
cursor cur;
int i,j,si,sj,curi,curj;
int lastk;
boolean funckeyboolean;
int a[10][10];
void DispFrom(int si,int sj)//sj:byte);
{
int i,j;//:byte;
for (i=si;i<=Min(10,si+6-1) ;i++)
for (j=sj;j<=Min(10,sj+6-1);j++)
{
char s[10];
Convs(a[i-1][j-1],s);
Gwindow_showstring(gwnd1,(j-sj)*5+1,(i-si+1),s );
}
}
main()
{ Into_graph();
//Statusline("显示数组A[1..10,1..10], 通过移动光标来选择显示范围, 用Esc结束");
for( i=0;i<10;i++)
for (j=0;j<10;j++)
a[i][j]=(i+1)*10+j; //i*10+j-1;
si=1; sj=1; curi=1; curj=1;
Gwindow_init(gwnd1,25,10,57,15);
Gwindow_newwindow(gwnd1);
Cursor_init(cur,26,11,YELLOW,BLUE);
Cursor_show(cur);
do
{
Gwindow_clear(gwnd1);
DispFrom(si,sj);
Cursor_moveto(cur,26+(curj-1)*5,10+curi);
Getkey(lastk,funckey);
if( (lastk==up||lastk==left||lastk==right||lastk==down) && funckey )
switch(lastk )
{
case up: { if (curi-1==0 ) si=Max(1,si-1); curi=Max(curi-1,1); }break;
case left: { if (curj-1==0 ) sj=Max(1,sj-1); curj=Max(curj-1,1); }break;
case right: { if (curj+1>6) sj=Min(10,sj+1); curj=Min(curj+1,6);}break;
case down: { if (curi+1>6 ) si=Min(10,si+1); curi=Min(curi+1,6);} break;
}
}
while(lastk!=esc);
//Statusline("");
Wait();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -