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

📄 diaologe.cpp

📁 tc 2.0下用680*480 256 色模式下写成的中文菜单程序
💻 CPP
字号:

void diaologe3(int x,int y,char *imess,char *outmess)
{
	int kx,ky;
	int mx,my;
	int state;
	saveimage(x,y,x+,y+,"e:\\keshe\\temp.bmp");
	Loadimage(x,y,"e:\\keshe\\diaologe3.bmp");
	mx=(x+x+)/2;
	my=(y+y+)/2;
	puts16(mx-strlen(imess),my,imess);
    bar();  /*输入框*/ 
    if(getstring(outmess)==0)
		return -1;
	butt_on(0);
    while(1)
	{
		getkey(&kx,&ky);
		if(kx==27)      /*esc*/
		{
			
			loadimage(x,y,"e:\\keshe\\temp.bmp");
			return -1;
		}
		else if(kx==13)
		{
			butt_down(state);
			Loadimage(x,y,"e:\\keshe\\temp.bmp");
			if(state==0)
			   return 1;
			else
				return 0;

		}
		else if(ky==77)   /*left*/
	    {
			state=(state+1)%2;
			but_off();
			butt_on;
		}
		else if(ky==75)   /*right*/

        { 
			state=(state+1)%2;
			but_off();
			butt_on;
		}
	}
}
	

void diaologe(int x,in y,char *mess)
{
	int kx,ky;
	int mx,my;
	saveimage(x,y,"e;\\keshe\\temp.bmp");
	Loadimage(x,y,"e:\\keshe\\diaologe.bmp");
	mx=(x+x+)/2;
	my=(y+y+)/2;
	puts16(mx-strlen(mess)/2,my,mess);
	butt_on(0);
	while(1)
	{
		getkey(&kx,&ky);
		if(kx==13)
		{
			butt_down(0);
			loadimage(x,y,"e:\\keshe\\temp.bmp");
			return ;
		}
		else if(kx==27)
		{
			butt_down(0)
			Loadimage(x,y,"e:\\keshe\\temp.bmp");
			return ;
		}
	}
}

int diaologe1(int x,int y,char *mess)
{
	
	int kx,ky;
	int mx,my;
	int state=0;
	saveimage(x,y,"e;\\keshe\\temp.bmp");
	Loadimage(x,y,"e:\\keshe\\diaologe.bmp");
	mx=(x+x+)/2;
	my=(y+y+)/2;
	puts16(mx-strlen(mess)/2,my,mess);
	
	
	butt_on(0);
	while(1)
	{
		getkey(&kx,&ky);
		if(kx==27)      /*esc*/
		{
			
			loadimage(x,y,"e:\\keshe\\temp.bmp");
			return -1;
		}
		else if(kx==13)
		{
			butt_down(state);
			Loadimage(x,y,"e:\\keshe\\temp.bmp");
			if(state==0)
			   return 1;
			else
				return 0;

		}
		else if(ky==77)   /*left*/
	    {
			state=(state+1)%2;
			but_off();
			butt_on;
		}
		else if(ky==75)   /*right*/

        { 
			state=(state+1)%2;
			but_off();
			butt_on;
		}
	}
}

void butt_on(int x,int y,int x1,int y1)
{
	int a,b;
	int i;
	a=x1-x;
	b=y1-y;
	for(i=0;i<a;i+=2)
	{
		put_pixel(x+i,y,240);
		put_pixel(x+i,y1,240);
	}
	for(i=0;i<b;i+=2)
	{
		put_pixel(x,y+i,240);
		put_pixel(x1,y+i,240);
	}
}

void butt_off(int x,int y,int x1,int y2)
{
	line(x,y,x1,y ,);
	line(x,y,x,y1,);
	line(x1,y,x1,y1,);
	line(x,y1,x1,y1,);
}


int diaologe2(int x,int y,char qustion,char *mess1,char *mess2)
{
	int state;
	int kx,ky;
	saveimage(x,y,"e\\keshe\\temp.bmp");
	Loaimage(x,y,"e:\\keshe\\diaologe2.bmp");
	dot(0);
	fputs(x,y,mess1);
	fputs(x,y,mess2);
	while(1)
    {
		getkey(&kx,&ky);
		if(kx==27)    /*esc*/
		{
			Loadimage(x,y,"e:\\keshe\\temp.bmp");
			return -1;
		}
		else if(kx==13)
		{
			Loadimage(x,y,"e:\\keshe\\temp.");
			return state;
		}
		else if(ky==80)  /*down*/
		{
			undot(state);
			state=(state+1)%2;
			dot(state);
		}
		else if(ky==72)  /*up*/
		{
			undot(state);
			state=(state+1)%2;
			dot(state);
		}
	}
}



int  getstring(int x,int y,char *string)
 {
    int kx,ky;
	int string[10];
	while(1)
	{
		getkey(&kx,&ky);
		if(kx==13)  	/*enter*/
			return 1;
		else if(kx==27)
			return -1;
		else if(47<kx&&kx<58||64<kx&&kx<91||97<kx&&kx<123)
		{
			puts16(x+stringlen(string)*16,y,240);
			*string==kx;
			*(++string)==kx;
		}
		else if(kx==8)  /*backspace*/
		{
			if(stlen(string))
			{
			  *(--string)='\0';
			  bar(strlen(string)*16+x,y+16,strlen(string)*16+16+x,y,0);
			}
		}
	}
}


int getint(int x,int y,int *digist)
{
	int kx,ky;
	int string[10];
	if(digist!=0)
	    itoa(*digist,string);
	else
		string[0]='\0';
	while(1)
	{
		getkey(&kx,&ky);
		if(kx==13)  	/*enter*/
		{
			
			*digit=atoi(string);
			return 1;
		}
		
		else if(kx==27)
			return -1;
		else if(47<kx&&kx<58)
		{
			puts16(x+stringlen(string)*16,y,kx,240);
			*string==kx;
			*(++string)=='\0';
		}
		else if(kx==8)  /*backspace*/
		{
			if(stlen(string))
			{
			  *(--string)='\0';
			  bar(strlen(string)*16+x,y+16,strlen(string)*16+16+x,y,0);
			}
		}
	}
}

int getfloat(int x,int y,float *digist)
{
	int kx,ky;
	int string[10];
	if(*digist)
		   ftoa(*digist,string);
	else
	       string[0]='\0';
	while(1)
	{
		getkey(&kx,&ky);
		if(kx==13)  	/*enter*/
		{
			
			*digit=atof(string);
			return 1;
		}
		
		else if(kx==27)
			return -1;
		else if(47<kx&&kx<58||kx==46)
		{
			puts16(x+stringlen(string)*16,y,240);
			*string==kx;
			*(++string)=='\0';
		}
		else if(kx==8)  /*backspace*/
		{
			if(stlen(string))
			{
			  *(--string)='\0';
			  bar(strlen(string)*16+x,y+16,strlen(string)*16+16+x,y,0);
			}
		}
	}
}

⌨️ 快捷键说明

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