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

📄 configmeter.c

📁 采用MINIGUI开发的一套GUI界面
💻 C
📖 第 1 页 / 共 3 页
字号:
}

/*
显示流量卡基本页面的信息
动态数据
报警情况

*/
void ShowFPage1(HWND hDlg,HDC hdc)
{
int dev_id;
unsigned char str[20];
unsigned char str_temp[20];
HDC hmemDC;
//

//隐藏上页面控件

//显示本页面控件



   hmemDC=hdc; 
   //  SetBrushColor(hmemDC,PIXEL_lightgray);//lightwhite
    SetBkMode(hmemDC,BM_TRANSPARENT);//?   SetBkMode
//设置字体颜色
	SetTextColor(hmemDC,PIXEL_black);  //矩形图TAG	   
	  SelectFont(hmemDC,songgb16font);
//读取流量板卡的信息
  	strcpy(str_temp,"基本信息1/3");
	TextOut(hmemDC,CARDINFO_X,CARDINFO_Y,str_temp);
	TextOut(hmemDC,MET_X1-60,MET_Y1+5,"  名称  :");
//TextOut(hmemDC,MET_X1,MET_Y1+5,card_flux_reg[id].name);

	
	TextOut(hmemDC,MET_X2,MET_Y1+5,"通讯地址:");
	TextOut(hmemDC,MET_X2,MET_Y2,"通讯状态:");
	if(card_flux_reg[flux_id].enabled)
	TextOut(hmemDC,MET_X3,MET_Y2,"通讯正常");
	else
	TextOut(hmemDC,MET_X3,MET_Y2,"板卡不存在");


TextOut(hmemDC,MET_X1-40,MET_Y2,"波特率:");
TextOut(hmemDC,MET_X1-40,REAL_Y1,"补偿温度:");
TextOut(hmemDC,MET_X1-40,REAL_Y2,"补偿压力:");
TextOut(hmemDC,MET_X1-40,REAL_Y3,"    流量:");
TextOut(hmemDC,MET_X1-40,REAL_Y4,"瞬时流量:");
TextOut(hmemDC,MET_X1-40,REAL_Y5,"累积流量:");

TextOut(hmemDC,MET_X2+10,REAL_Y1,"第一报警状态:");
TextOut(hmemDC,MET_X2+10,REAL_Y2,"第二报警状态:");
//单位
	strcpy(str,table_unit[card_flux_reg[flux_id].DT]);
TextOut(hmemDC,MET_X1+GROD_W-100,REAL_Y1,str);
	strcpy(str,table_unit[card_flux_reg[flux_id].DP]);
TextOut(hmemDC,MET_X1+GROD_W-100,REAL_Y2,str);
	strcpy(str,table_unit[card_flux_reg[flux_id].DCA]);
TextOut(hmemDC,MET_X1+GROD_W-100,REAL_Y3,str);
	strcpy(str,table_unit[card_flux_reg[flux_id].SV]);
TextOut(hmemDC,MET_X1+GROD_W-100,REAL_Y4,str);
	strcpy(str,table_unit[card_flux_reg[flux_id].PV]);
TextOut(hmemDC,MET_X1+GROD_W-100,REAL_Y5,str);
//给编辑框赋值
SetDlgItemText(hDlg, CT1_NAME,card_flux_reg[id].name);


  SelectFont(hmemDC,songgb16font);
 //实时值
  	bzero(str,sizeof(str));
	 sprintf(str,"%.4f",card_flux_reg[flux_id].temperature);
       TextOut(hmemDC,MET_X1+40, REAL_Y1, str); 
	 sprintf(str,"%.4f",card_flux_reg[flux_id].pressure);
       TextOut(hmemDC,MET_X1+40, REAL_Y2, str); 
	 sprintf(str,"%.4f",card_flux_reg[flux_id].flux);
       TextOut(hmemDC,MET_X1+40, REAL_Y3, str); 
	 sprintf(str,"%.4f",card_flux_reg[flux_id].instant_flux);
       TextOut(hmemDC,MET_X1+40, REAL_Y4, str); 
//将	   Hcumul_flux,Lcumul_flux计算到cumul_flux
	card_flux_reg[flux_id].cumul_flux=(card_flux_reg[flux_id].Hcumul_flux)*(2^32)+(card_flux_reg[flux_id].Lcumul_flux);
	 sprintf(str,"%.4f",card_flux_reg[flux_id].cumul_flux);
       TextOut(hmemDC,MET_X1+40, REAL_Y5, str); 
//报警状态
       if(card_flux_reg[flux_id].alarm1_status==1)
       	{
        FillBoxWithBitmap(hmemDC,MET_X2+120,REAL_Y1 ,16,16,&staticbmp[0]);	//red				            					              
       	}
	   else 
        FillBoxWithBitmap(hmemDC,MET_X2+120,REAL_Y1 ,16,16,&staticbmp[1]);	//green				            					              
       if(card_flux_reg[flux_id].alarm2_status==1)
       	{
        FillBoxWithBitmap(hmemDC,MET_X2+120,REAL_Y2 ,16,16,&staticbmp[0]);	//red				            					              
       	}
	   else 
        FillBoxWithBitmap(hmemDC,MET_X2+120,REAL_Y2 ,16,16,&staticbmp[1]);	//green				            					              
	   	

 TextOut(hmemDC,120,360,"操作提示:设置本卡其他参数请按页面切换键.");

}

/*
显示流量卡第二个页面参数信息

*/
void ShowFPage2(HWND hDlg,HDC hdc)
{
int dev_id;
unsigned char str[20];
unsigned char str_temp[30];
HDC hmemDC;


//隐藏上页面控件

//显示本页面控件

   hmemDC=hdc; 
   //  SetBrushColor(hmemDC,PIXEL_lightgray);//lightwhite
  //   SetBkMode(hmemDC,BM_TRANSPARENT);//?   SetBkMode
  //   FillBox(hmemDC,0,0,WIDTH-LEFT,HEIGHT-TOP-BOTTOM);

    SetBkMode(hmemDC,BM_TRANSPARENT);//?   SetBkMode
//设置字体颜色
	SetTextColor(hmemDC,PIXEL_black);  //矩形图TAG	   
	  SelectFont(hmemDC,songgb16font);
//读取流量板卡的信息
bzero(str_temp,sizeof(str_temp));
 	//strcpy(str_temp,"流量卡参数设定页面");
 	TextOut(hmemDC,CARDINFO_X,CARDINFO_Y,"参数设定页面2/3");

TextOut(hmemDC,CT2_X0,90,"B1:被测量介质  :");
TextOut(hmemDC,CT2_X0,120,"B2:流量输入类型:");
TextOut(hmemDC,CT2_X0,150,"B5:质量体积流量:");
TextOut(hmemDC,CT2_X0,180,"D3:流量信号类型:");
TextOut(hmemDC,CT2_X2,CT2_Y1+2,"D1:温度信号类型:");
TextOut(hmemDC,CT2_X2,CT2_Y2+2,"D2:压力信号类型:");
TextOut(hmemDC,CT2_X2,CT2_Y3+2,"A1:介质补偿系数1:");
TextOut(hmemDC,CT2_X2,CT2_Y4+2,"A2:介质补偿系数2:");



TextOut(hmemDC,CT2_X0,CT2_Y5+10,"K1:流量系数1:");
TextOut(hmemDC,CT2_X0,CT2_Y6+10,"K2:流量系数2:");
TextOut(hmemDC,CT2_X0,CT2_Y7+10,"K3:流量系数3:");
TextOut(hmemDC,CT2_X0,CT2_Y8+10,"K4:流量系数4:");
TextOut(hmemDC,CT2_X0,CT2_Y9+10,"参数组合选择:");
TextOut(hmemDC,CT2_X2,CT2_Y9+10,"计算公式:");
        FillBoxWithBitmap(hmemDC,CT2_X2+80,CT2_Y9-40 ,160,80,&formulabmp[1]);	//green				            					              

TextOut(hmemDC,CT2_X2,CT2_Y5+5,"P  :介质密度  :");
TextOut(hmemDC,CT2_X2,CT2_Y6+5,"P20:标况密度    :");
TextOut(hmemDC,CT2_X2,CT2_Y7+5,"PA :工作点大气压:");
 
TextOut(hmemDC,CT2_X3+55,CT2_Y5+5,"kg/m3");
TextOut(hmemDC,CT2_X3+55,CT2_Y6+5,"kg/m3");
TextOut(hmemDC,CT2_X3+55,CT2_Y7+5,"MPa");
//根据通讯数据赋值

   	SetDlgItemInt(hDlg, CT2_K1,card_flux_reg[flux_id].K1,0);
	SendDlgItemMessage(hDlg,CT2_B1,CB_SETCURSEL,1,0);

  //   BitBlt(hmemDC,0,0,0,HEIGHT-TOP-BOTTOM,hdc,0,0,0);
   //  DeleteCompatibleDC(hmemDC); 

}
/*
显示流量卡第3个页面参数信息

*/
void ShowFPage3(HWND hDlg,HDC hdc)
{
int dev_id;
unsigned char str[20];
unsigned char str_temp[30];
HDC hmemDC;

   hmemDC=hdc; 
    SetBkMode(hmemDC,BM_TRANSPARENT);//?   SetBkMode
//设置字体颜色
	SetTextColor(hmemDC,PIXEL_black);  //矩形图TAG	   
	  SelectFont(hmemDC,songgb16font);
//读取流量板卡的信息

 	//strcpy(str_temp,"流量卡参数设定页面");
 	TextOut(hmemDC,CARDINFO_X,CARDINFO_Y," 参数设定页面3/3");

TextOut(hmemDC,CT3_X1,CT3_Y1,"C1:瞬时流量时间单位" );
TextOut(hmemDC,CT3_X1,CT3_Y2,"C2:累计流量显示精度" );
TextOut(hmemDC,CT3_X1,CT3_Y3,"C3:瞬时流量的小数点"  );
TextOut(hmemDC,CT3_X1,CT3_Y4,  "C4:补偿温度的小数点"); 
TextOut(hmemDC,CT3_X1,CT3_Y5, "C5:补偿压力的小数点");
TextOut(hmemDC,CT3_X1,CT3_Y6, "C6:流量的小数点" ); 

TextOut(hmemDC,CT3_X3,CT3_Y1,"PB1:补偿温度的零点" );
TextOut(hmemDC,CT3_X3,CT3_Y2, "KK1:补偿温度的比例" ); 
TextOut(hmemDC,CT3_X3,CT3_Y3, "TL/TH:补偿温度的范围");
TextOut(hmemDC,CT3_X3,CT3_Y4+10,  "PB2:补偿压力的零点"); 
TextOut(hmemDC,CT3_X3,CT3_Y5+10, "KK2:补偿压力的比例");
TextOut(hmemDC,CT3_X3,CT3_Y6+10,  "PL/PH:补偿压力的范围"); 

TextOut(hmemDC,CT3_X1,CT3_Y7+8, "PB3:流量的信号零点");
TextOut(hmemDC,CT3_X1,CT3_Y8+8,  "KK3:流量的信号比例"); 
TextOut(hmemDC,CT3_X1,CT3_Y9+8, "CA: 输入量程");
TextOut(hmemDC,CT3_X1,CT3_Y10+8,  "CAA:流量的小信号切除"); 
TextOut(hmemDC,CT3_X1,CT3_Y11+8,  "S: 输出量程"); 

 TextOut(hmemDC,CT3_X3,CT3_Y7+5, "DCA:流量"    ); 
 TextOut(hmemDC,CT3_X3+135,CT3_Y7+5,  "累计流量");  
 TextOut(hmemDC,CT3_X3,CT3_Y8+5,  "DT:补偿温度 "); 
 TextOut(hmemDC,CT3_X3,CT3_Y9+5,  "DP:补偿压力" ); 

 TextOut(hmemDC,CT3_X3,CT3_Y10+5,  "SV:瞬时流量"  ); 
 TextOut(hmemDC,CT3_X3,CT3_Y11+5, "AT:打印间隔时间"  ); 
 //实时值
  	 

  //   BitBlt(hmemDC,0,0,0,HEIGHT-TOP-BOTTOM,hdc,0,0,0);
   //  DeleteCompatibleDC(hmemDC); 

}
//参数页面切换
void ShowNextPage(HWND hDlg,int page)
{

      
	if(page==0){HideT3(hDlg);ShowT1(hDlg);
	 page_base=CT1_NAME;
	}
	else if(page==1){HideT1(hDlg);ShowT2(hDlg);
	  page_base=CT2_B1;
	}
	else  if(page==2){HideT2(hDlg);ShowT3(hDlg);
	page_base=CT3_C1;
	}
}
//填充初始化信息
void InitFluxCard(HWND hDlg)
{
int i;
int id;
unsigned char str[20];
   //板卡不存在时候
   flux_id=0;
   id=flux_id;
   if(flux_number>0)
   	{
   	
   	card_flux_reg=(CARDFLUXINFO *)malloc(flux_number*sizeof(CARDFLUXINFO));
	card_flux_reg[id].enabled=1;
   	card_flux_reg[id].dev_addr=devicesinfo[FluxReged[flux_id]].dev_addr;
   	card_flux_reg[id].dev_borate=devicesinfo[FluxReged[flux_id]].boudrate;
   	}

   	else {
	card_flux_reg=(CARDFLUXINFO *)malloc(1*sizeof(CARDFLUXINFO));
	card_flux_reg[id].enabled=0;
	card_flux_reg[id].dev_addr=1;
   	card_flux_reg[id].dev_borate=4800;
   		}
//第一页	
      card_flux_reg[id].temperature=100;
      card_flux_reg[id].pressure  =100;
      card_flux_reg[id].flux=100;
      card_flux_reg[id].instant_flux=100;
      card_flux_reg[id].Hcumul_flux=100;
      card_flux_reg[id].Lcumul_flux=100;
      card_flux_reg[id].alarm1_status=0;
      card_flux_reg[id].alarm2_status  =0;    
 //第2页	    
	card_flux_reg[id].K1=100;
      card_flux_reg[id].K2=100;
      card_flux_reg[id].K3=100;
      card_flux_reg[id].K4=200;
      card_flux_reg[id].A1=1;
      card_flux_reg[id].A2=1;
	  
 	 card_flux_reg[id].P=0.928;
      card_flux_reg[id].P20=1.091;
       card_flux_reg[id].PA=1.601;
 
 //第三页
      card_flux_reg[id].C1=0;
      card_flux_reg[id].C2=1;
      card_flux_reg[id].C3=4;
      card_flux_reg[id].C4=2;
      card_flux_reg[id].C5=2;
      card_flux_reg[id].C6=2;
 
 	
      card_flux_reg[id].DCA=19;
      card_flux_reg[id].PV=16;
	  
      card_flux_reg[id].DT=7;
      card_flux_reg[id].DP=3;
      card_flux_reg[id].SV=15;



	  

	  strcpy(card_flux_reg[id].name,"WP智能流量卡031");
 //为BOX框填充内容
 //table_B1[card_flux_reg[flux_id].B1]
 	
 
         for(i=0;i<dim(table_BT);i++)
	        SendDlgItemMessage(hDlg,CT1_BT,CB_ADDSTRING,0, (LPARAM)table_BT[i]) ;

 //SendDlgItemMessage(hDlg,CT2_B1,CB_SETCURSEL,2,0);
		
}
 //给下一个页初始化
void InitFCardP2(HWND hDlg)
{
int i;
int id;
unsigned char str[20];
   //板卡不存在时候
   flux_id=0;
   id=flux_id;
      for(i=0;i<3;i++)      
	        SendDlgItemMessage(hDlg,CT2_B1,CB_ADDSTRING,0, (LPARAM)table_B1[i]) ;
        for(i=0;i<dim(table_B2);i++)
	        SendDlgItemMessage(hDlg,CT2_B2,CB_ADDSTRING,0, (LPARAM)table_B2[i]) ;
        for(i=0;i<6;i++)
	        SendDlgItemMessage(hDlg,CT2_B5,CB_ADDSTRING,0, (LPARAM)table_B3[i]) ;
        for(i=0;i<8;i++)
	        SendDlgItemMessage(hDlg,CT2_D3,CB_ADDSTRING,0, (LPARAM)table_D3[i]) ;
   
        for(i=0;i<dim(table_D1);i++)
	        SendDlgItemMessage(hDlg,CT2_D1,CB_ADDSTRING,0, (LPARAM)table_D1[i]) ;
        for(i=0;i<dim(table_D2);i++)
	        SendDlgItemMessage(hDlg,CT2_D2,CB_ADDSTRING,0, (LPARAM)table_D2[i]) ;

⌨️ 快捷键说明

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