⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 例2-8.c

📁 王为青 刘变红 编著《C语言高级编程及实例剖析》源代码
💻 C
字号:
/* Note:Your choice is C IDE */
#include <stdio.h>
#include <conio.h>
#include <bios.h>
#include <process.h>

char leftbuf[39*23*2];  /* 切换时保存左窗口文本 */
char rightbuf[39*23*2]; /* 切换时保存右窗口文本 */   
int leftx,lefty; /* 切换时保存左窗口当前坐标 */
int rightx,righty;  /* 切换时保存右窗口当前坐标 */ 
void draw_left_win(); /* 重绘左边窗口 */
void draw_right_win(); /* 重绘右边窗口 */

int main()
{   
	int key;
	int turn;
	textmode(C80);
	textbackground(0);
	textcolor(WHITE);
	clrscr();
	gotoxy(60,1);
	cprintf("press Esc to Quit");
	
	window(41,2,79,24);  /* 右边窗口为绿色背景,红色前景 */
	textbackground(2);
	textcolor(WHITE);
	clrscr();        
	gettext(41,2,79,24,rightbuf);   
	
	window(2,2,40,24);  /* 左边窗口为蓝色背景,白色前景 */
	textbackground(1);
	textcolor(15);
	clrscr();        
	gettext(2,2,40,24,leftbuf);  
	
	turn=0; /* 切换激活左窗口 */  
	for(;;)
	{
		key=bioskey(0);
		if(key==0x11b)
			exit(0); 
		key=key&0xff;  /* 获取窗口输入的文本的ASCII码值 */
		if(key=='\t')
		{
			if(turn==0)  /* 切换到右窗口 */ 
			{                    
				gettext(2,2,40,24,leftbuf);
				leftx=wherex();
				lefty=wherey();
				draw_right_win();
				turn=1;
			}
			else if(turn=1)     /* 切换到左窗口 */ 
			{  
				gettext(41,2,79,24,rightbuf); 
				rightx=wherex();
				righty=wherey();
				draw_left_win();
				turn=0;
			}
		}
		else
			putch(key); /* 当前光标处显示新输入的文本字符 */   
	}
}

void draw_right_win()
{  
	window(41,2,79,24);  
	textbackground(2);
	textcolor(4);
	clrscr();        
	puttext(41,2,79,24,rightbuf); 
	gotoxy(rightx,righty);
}

void draw_left_win()
{	
	window(2,2,40,24);  
	textbackground(1);
	textcolor(15);
	clrscr();        
	puttext(2,2,40,24,leftbuf);  
	gotoxy(leftx,lefty);
}
	
				
		
	                              
	                             
	
	
    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -