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

📄 display.cpp

📁 串口可交换程序
💻 CPP
📖 第 1 页 / 共 4 页
字号:
			Outchar12(X6+18,Y7+Y_CH_OFFSET,"●",RED);
	}
	if(_disp.active[6]){
		kom_form(_disp.db_bw2.r_bandwidth,msg);
		setcolor(FILL_FORM_R);
		outtextxy(X4+40,Y8+Y_EN_OFFSET,msg);
		if(_disp.flag_bandwidth2)
			Outchar12(X6+18,Y8+Y_CH_OFFSET,"●",GREEN);
		else
			Outchar12(X6+18,Y8+Y_CH_OFFSET,"●",RED);
	}
	if(_disp.active[7]){
		sprintf(msg,"%.1fdB",_disp.sb_att.r_attenuation_l);
		setcolor(FILL_FORM_R);
		outtextxy(X4+10,Y9+Y_EN_OFFSET,msg);
		sprintf(msg,"%.1fdB",_disp.sb_att.r_attenuation_r);
		setcolor(FILL_FORM_R);
		outtextxy(X5+10,Y9+Y_EN_OFFSET,msg);
		if(_disp.flag_sb_att)
			Outchar12(X6+18,Y9+Y_CH_OFFSET,"●",GREEN);
		else
			Outchar12(X6+18,Y9+Y_CH_OFFSET,"●",RED);
	}
	if(_disp.flag_all&&(_disp.active[0]|_disp.active[1]|_disp.active[2]|_disp.active[3]|_disp.active[4]|_disp.active[5]|_disp.active[6]|_disp.active[7]))
		Outchar12(X6+18,Y10+Y_CH_OFFSET,"●",GREEN);
}
void fill_form_b()
{
	clear_rect(E_LX+455,E_LY+Y_DOT_OFFSET-1,E_LX+470,E_LY+Y_DOT_OFFSET+14);
	if(_disp.active[0]){
		if(_disp.flag_freq_diff)
			Outchar12(E_LX+30,E_LY+Y_DOT_OFFSET,"●",GREEN);
		else
			Outchar12(E_LX+30,E_LY+Y_DOT_OFFSET,"●",RED);
	}
	if(_disp.active[1]){
		if(_disp.flag_loss)
			Outchar12(E_LX+101,E_LY+Y_DOT_OFFSET,"●",GREEN);
		else
			Outchar12(E_LX+101,E_LY+Y_DOT_OFFSET,"●",RED);
	}
	if(_disp.active[2]){
		if(_disp.flag_ripple)
			Outchar12(E_LX+172,E_LY+Y_DOT_OFFSET,"●",GREEN);
		else
			Outchar12(E_LX+172,E_LY+Y_DOT_OFFSET,"●",RED);
	}
	if(_disp.active[3]||_disp.active[4])
		if(!((_disp.active[3]&&_disp.flag_db_bw1==FALSE)||
			(_disp.active[4]&&_disp.flag_bandwidth1==FALSE)))
			Outchar12(E_LX+243,E_LY+Y_DOT_OFFSET,"●",GREEN);
		else
			Outchar12(E_LX+243,E_LY+Y_DOT_OFFSET,"●",RED);
	if(_disp.active[5]||_disp.active[6])
		if(!((_disp.active[5]&&_disp.flag_db_bw2==FALSE)||
			(_disp.active[6]&&_disp.flag_bandwidth2==FALSE)))
			Outchar12(E_LX+314,E_LY+Y_DOT_OFFSET,"●",GREEN);
		else
			Outchar12(E_LX+314,E_LY+Y_DOT_OFFSET,"●",RED);
/*	if(_disp.active[3]){
		if(_disp.flag_db_bw1)
			Outchar12(E_LX+243,E_LY+Y_DOT_OFFSET,"●",GREEN);
		else
			Outchar12(E_LX+243,E_LY+Y_DOT_OFFSET,"●",RED);
	}
	if(_disp.active[4]){
		if(_disp.flag_bandwidth1)
			Outchar12(E_LX+314,E_LY+Y_DOT_OFFSET,"●",GREEN);
		else
			Outchar12(E_LX+314,E_LY+Y_DOT_OFFSET,"●",RED);
	} */
/*	if(_disp.active[5]){
		if(_disp.flag_db_bw2)
			Outchar12(E_LX+385,E_LY+Y_DOT_OFFSET,"●",GREEN);
		else
			Outchar12(E_LX+385,E_LY+Y_DOT_OFFSET,"●",RED);
	}
	if(_disp.active[6]){
		if(_disp.flag_bandwidth2)
			Outchar12(E_LX+456,E_LY+Y_DOT_OFFSET,"●",GREEN);
		else
			Outchar12(E_LX+456,E_LY+Y_DOT_OFFSET,"●",RED);
	} */
	if(_disp.active[7]){
		if(_disp.flag_sb_att)
			Outchar12(E_LX+385,E_LY+Y_DOT_OFFSET,"●",GREEN);
		else
			Outchar12(E_LX+385,E_LY+Y_DOT_OFFSET,"●",RED);
	}
	if(_disp.flag_all&&(_disp.active[0]|_disp.active[1]|_disp.active[2]|_disp.active[3]|_disp.active[4]|_disp.active[5]|_disp.active[6]|_disp.active[7]))
		Outchar12(E_LX+456,E_LY+Y_DOT_OFFSET,"●",GREEN);
}
void kom_form(long pf,char msg[])
{
//	char msg[20];
	if(pf<1000)
	{
		sprintf(msg,"%ld",pf);
//		msg[7]='\0';
		strcat(msg,"Hz");
//		msg[10]='\0';
	}
	else if(pf<1000000)
	{
		sprintf(msg,"%.3f",pf/1000.0f);
//		msg[7]='\0';
		strcat(msg,"kHz");
//		msg[10]='\0';
	}
	else if(pf<=50000000)
	{
		sprintf(msg,"%f",pf/1000000.0f);
		msg[7]='\0';
		strcat(msg,"MHz");
//		msg[10]='\0';
	}
}

void draw_form()
{

			clear_rect(0,0,A_RX+3,479);
			clear_rect(0,0,A_RX+3,479);

			setcolor(WHITE);          //border line
			setlinestyle(SOLID_LINE,0,THICK_WIDTH);
			rectangle(X0,Y0,X7,Y12);                  //modify on 0823

			setlinestyle(SOLID_LINE,0,NORM_WIDTH);		//level line
			line(X0,Y1,X7,Y1);
			line(X0,Y2,X7,Y2);
			line(X0,Y3,X7,Y3);
			line(X0,Y5,X7,Y5);
			line(X1,Y6,X7,Y6);
			line(X0,Y7,X7,Y7);
			line(X1,Y8,X7,Y8);
			line(X0,Y9,X7,Y9);
			line(X0,Y11,X7,Y11);

			line(X1,Y5,X1,Y9);              //upright line
			line(X2,Y0,X2,Y11);
			line(X3,Y5,X3,Y6);
			line(X3,Y7,X3,Y8);
			line(X4,Y0,X4,Y11);
			line(X5,Y5,X5,Y6);
			line(X5,Y7,X5,Y8);
			line(X5,Y9,X5,Y11);
			line(X6,Y0,X6,Y12);

			Outchar12(X0+6,Y0+Y_CH_OFFSET,"测 量 项 目",WHITE);
			Outchar12(X2+45,Y0+Y_CH_OFFSET,"测 量 设 定",WHITE);
			Outchar12(X4+45,Y0+Y_CH_OFFSET,"测 量 结 果",WHITE);
			Outchar12(X6+8,Y0+Y_CH_OFFSET,"结论",WHITE);

			Outchar12(X0+4,Y1+Y_CH_OFFSET,"中心频率±偏差",WHITE);
			Outchar12(X0+4,Y2+Y_CH_OFFSET,"插 入 损 耗",WHITE);

			Outchar12(X0+4,Y3+3,"通 带 波 动",WHITE);

			Outchar12(X1+6,Y5+Y_CH_OFFSET,"频率点",WHITE);
			Outchar12(X1+6,Y6+Y_CH_OFFSET,"带 宽",WHITE);
			Outchar12(X1+6,Y7+Y_CH_OFFSET,"频率点",WHITE);
			Outchar12(X1+6,Y8+Y_CH_OFFSET,"带 宽",WHITE);

			Outchar12(X0+4,Y9+3,"阻 带 衰 减",WHITE);
			Outchar12(X0+4,Y11+Y_CH_OFFSET,"综 合 结 果",WHITE);
}
void disp_on_off()
{
//	for(int i=0;i<8;i++){
	  if(((_softkeyid1==41||_softkeyid2==413)&&_disp.active[0]==ON)||
		((_softkeyid1==43||_softkeyid2==433)&&_disp.active[2]==ON)){
		setfillstyle(SOLID_FILL,TEXTMENUBK);
		bar(B_LX+2,3*59+22,B_RX-2,3*59+40);
		Outchar12(B_LX+10,3*59+22,"开",TEXTDIGITAL);
		Outchar12(B_RX-25,3*59+22,"关",TEXTMENU);
	  }
	  else if((_softkeyid1==42||_softkeyid2==422)&&_disp.active[1]==ON){
		setfillstyle(SOLID_FILL,TEXTMENUBK);
		bar(B_LX+2,2*59+22,B_RX-2,2*59+40);
		Outchar12(B_LX+10,2*59+22,"开",TEXTDIGITAL);
		Outchar12(B_RX-25,2*59+22,"关",TEXTMENU);
	  }
	  else if(((_softkeyid1==41||_softkeyid2==413)&&_disp.active[0]==OFF)||
		((_softkeyid1==43||_softkeyid2==433)&&_disp.active[2]==OFF)){
		setfillstyle(SOLID_FILL,TEXTMENUBK);
		bar(B_LX+2,3*59+22,B_RX-2,3*59+40);
		Outchar12(B_RX-25,3*59+22,"关",TEXTDIGITAL);
		Outchar12(B_LX+10,3*59+22,"开",TEXTMENU);
	  }
	  else if((_softkeyid1==42||_softkeyid2==422)&&_disp.active[1]==OFF){
		setfillstyle(SOLID_FILL,TEXTMENUBK);
		bar(B_LX+2,2*59+22,B_RX-2,2*59+40);
		Outchar12(B_RX-25,2*59+22,"关",TEXTDIGITAL);
		Outchar12(B_LX+10,2*59+22,"开",TEXTMENU);
	  }
	  else if((_softkeyid1==46||_softkeyid2==463)&&_disp.active[7]==ON){
		setfillstyle(SOLID_FILL,TEXTMENUBK);
		bar(B_LX+2,3*59+22,B_RX-2,3*59+40);
		Outchar12(B_LX+10,3*59+22,"开",TEXTDIGITAL);
		Outchar12(B_RX-25,3*59+22,"关",TEXTMENU);
	  }
	  else if((_softkeyid1==46||_softkeyid2==463)&&_disp.active[7]==OFF){
		setfillstyle(SOLID_FILL,TEXTMENUBK);
		bar(B_LX+2,3*59+22,B_RX-2,3*59+40);
		Outchar12(B_LX+10,3*59+22,"开",TEXTMENU);
		Outchar12(B_RX-25,3*59+22,"关",TEXTDIGITAL);
	  }
//	}
}

void FF4()
{
	setfillstyle(SOLID_FILL,TEXTMENUBK);
	bar(B_LX+2,5*59+22,B_RX-2,5*59+40);
	if((_softkeyid1==44&&_disp.active[3]==ON)
		||(_softkeyid1==45&&_disp.active[5]==ON)){
		Outchar12(B_LX+10,5*59+8+15,"开",TEXTDIGITAL);
		Outchar12(B_RX-25,5*59+8+15,"关",TEXTMENU);
	}
	else if((_softkeyid1==44&&_disp.active[3]==OFF)
		||(_softkeyid1==45&&_disp.active[5]==OFF))											{
		Outchar12(B_LX+10,5*59+8+15,"开",TEXTMENU);
		Outchar12(B_RX-25,5*59+8+15,"关",TEXTDIGITAL);
	}
}
void FF5()
{
	setfillstyle(SOLID_FILL,TEXTMENUBK);
	bar(B_LX+2,6*59+22,B_RX-2,6*59+40);
	if((_softkeyid1==44&&_disp.active[4]==ON)
		 ||(_softkeyid1==45&&_disp.active[6]==ON)){
		Outchar12(B_LX+10,6*59+22,"开",TEXTDIGITAL);
		Outchar12(B_RX-25,6*59+22,"关",TEXTMENU);
	}
	else if((_softkeyid1==44&&_disp.active[4]==OFF)
		||(_softkeyid1==45&&_disp.active[6]==OFF)){
		Outchar12(B_RX-25,6*59+22,"关",TEXTDIGITAL);
		Outchar12(B_LX+10,6*59+22,"开",TEXTMENU);
	}
}
void border_disp(int)
{



}
void DispSwitch()
{
	char i;
	switch(disp_switch){
	case 1:
		mda_map->Realloc(-1);
		mda_map->ScreenClear();
		draw_form();
		disable();
		for(i=0;i<17;i++)
			wri_form(i);
		disable();
		old_a_on_off = _chab[0].on_off;
		old_b_on_off = _chab[1].on_off;
		_chab[0].on_off = ON;
		_chab[1].on_off = OFF;
		old_ch_sel = ch_sel;
		ch_sel=0;
		chs=0;
		rst_num_mem();
		refr_disp();
		break;
	case 2:
		mda_map->Realloc(320);
		mda_map->ScreenClear();
		graph1();
		refresh_up();
		if(alternative == ON&&_chab[0].on_off==OFF&&_chab[1].on_off==ON){
					rem_chs = chs;
					chs = 0;
					draw_graph(chs==0?_system.colora:_system.colorb);
					chs = rem_chs;
		}
		else if(alternative == ON&&_chab[1].on_off==OFF&&_chab[0].on_off==ON){
					rem_chs = chs;
					chs = 1;
					draw_graph(chs==0?_system.colora:_system.colorb);
					chs = rem_chs;
		}
		refr_disp();
		break;
	case 3:
		mda_map->Realloc(400);
		mda_map->ScreenClear();
		ch_sel = old_ch_sel;
		_chab[0].on_off = old_a_on_off;
		_chab[1].on_off = old_b_on_off;
		clear_rect(A_LX-3,A_LY,A_RX+3,A_RY);
		clear_rect(A_LX-3,A_LY,A_RX+3,A_RY);
		graph();
		refresh_up();
		if(alternative == ON&&_chab[0].on_off==OFF&&_chab[1].on_off==ON){
					rem_chs = chs;
					chs = 0;
					draw_graph(chs==0?_system.colora:_system.colorb);
					chs = rem_chs;
		}
		else if(alternative == ON&&_chab[1].on_off==OFF&&_chab[0].on_off==ON){
					rem_chs = chs;
					chs = 1;
					draw_graph(chs==0?_system.colora:_system.colorb);
					chs = rem_chs;
		}
		if(ch_sel==0)
			Outchar12(35,445,"起始频率:                终止频率:",TEXTFRTLN);
		else
			Outchar12(35,445,"起始频率:                终止频率:",TEXTSEDLN);
		khz_ormhz(_freq[ch_sel].start_freq,0);
		khz_ormhz(_freq[ch_sel].end_freq,1);
		refr_disp();
		break;
	case 4:
		mda_map->Realloc(320);
		mda_map->ScreenClear();
		ch_sel = old_ch_sel;
		_chab[0].on_off = old_a_on_off;
		_chab[1].on_off = old_b_on_off;

		graph1();
		refresh_up();
		if(alternative == ON&&_chab[0].on_off==OFF&&_chab[1].on_off==ON){
					rem_chs = chs;
					chs = 0;
					draw_graph(chs==0?_system.colora:_system.colorb);
					chs = rem_chs;
		}
		else if(alternative == ON&&_chab[1].on_off==OFF&&_chab[0].on_off==ON){
					rem_chs = chs;
					chs = 1;
					draw_graph(chs==0?_system.colora:_system.colorb);
					chs = rem_chs;
		}
		refr_disp();
		break;
	case 5:
		mda_map->Realloc(400);
		mda_map->ScreenClear();
		clear_rect(A_LX-3,A_LY,A_RX+3,A_RY);
		clear_rect(A_LX-3,A_LY,A_RX+3,A_RY);
		graph();
		refresh_up();
		if(alternative == ON&&_chab[0].on_off==OFF&&_chab[1].on_off==ON){
					rem_chs = chs;
					chs = 0;
					draw_graph(chs==0?_system.colora:_system.colorb);
					chs = rem_chs;
		}
		else if(alternative == ON&&_chab[1].on_off==OFF&&_chab[0].on_off==ON){
					rem_chs = chs;
					chs = 1;
					draw_graph(chs==0?_system.colora:_system.colorb);
					chs = rem_chs;
		}
		if(ch_sel==0)
			Outchar12(35,445,"起始频率:                终止频率:",TEXTFRTLN);
		else
			Outchar12(35,445,"起始频率:                终止频率:",TEXTSEDLN);
		khz_ormhz(_freq[ch_sel].start_freq,0);
		khz_ormhz(_freq[ch_sel].end_freq,1);
		refr_disp();
		break;
	case 6:
		mda_map->Realloc(-1);
		mda_map->ScreenClear();
		draw_form();
		for(i=0;i<17;i++)
			wri_form(i);
		disable();
		old_a_on_off = _chab[0].on_off;
		old_b_on_off = _chab[1].on_off;
//		old_a_flag = _chab[0].flag;
		_chab[0].on_off = ON;
		_chab[1].on_off = OFF;
//		_chab[0].flag = 0;
		old_ch_sel = ch_sel;
		ch_sel=0;
		chs=0;
		break;
	default:
		break;
	}
	vision();
	disp_switch=0;
//	DispSwitchBusy = FALSE;
}

BOOL StoreDisp()
{
	disable();
	FILE* fp;
	if((fp = fopen("Display.dat","wb"))==NULL){
		return FALSE;
	}
	fwrite(&_disp,sizeof(_DISP),1,fp);
	fwrite(&old_ch_sel,sizeof(char),1,fp);
	fwrite(&old_a_on_off,sizeof(ON_OFF),1,fp);
	fwrite(&old_b_on_off,sizeof(ON_OFF),1,fp);
	fclose(fp);
	return TRUE;
}

⌨️ 快捷键说明

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