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

📄 configpid.c

📁 采用MINIGUI开发的一套GUI界面
💻 C
📖 第 1 页 / 共 3 页
字号:
            MessageBox (hDlg, "Button pushed", "OK", 
                            MB_OK | MB_ICONINFORMATION | MB_BASEDONPARENT);
            break;
        }
        break;
    }
    
    return DefaultPageProc (hDlg, message, wParam, lParam);
}




//属性字页面4
static int 
PageProc4 (HWND hDlg, int message, WPARAM wParam, LPARAM lParam)
{
HDC hmemDC;
    switch (message) {
    case MSG_INITPAGE:
        break;
    case MSG_SHOWPAGE:
        return 1;
   case MSG_PAINT:
		   		{
	   		hmemDC = BeginPaint(hDlg); 
    SetBkMode(hmemDC,BM_TRANSPARENT);//?   SetBkMode
	SetTextColor(hmemDC,PIXEL_black);  //矩形图TAG	   
	  SelectFont(hmemDC,songgb16font);
	  
TextOut(hmemDC,PID1_X1,PID1_Y1-30,"工作方式3:双回路串接调节器");


	TextOut(hmemDC,PID1_X1,PID1_Y1,"PV1被控对象1实测值:   ");
	TextOut(hmemDC,PID1_X3,PID1_Y1,"PV2被控对象2实测值: ");	
	
	
	TextOut(hmemDC,PID1_X1,PID1_Y4,"SV1回路1控制设定值:");
	TextOut(hmemDC,PID1_X3,PID1_Y4,"SV2回路1控制设定值:");

	TextOut(hmemDC,PID1_X1,PID1_Y5,"回路1:自动");
	TextOut(hmemDC,PID1_X3,PID1_Y5,"回路2:自动");

	
TextOut(hmemDC,PID1_X1,PID1_Y9,"P1: 比例");
TextOut(hmemDC,PID1_X1,PID1_Y10,"I1: 积分");
TextOut(hmemDC,PID1_X1,PID1_Y11,"D1: 微分");

TextOut(hmemDC,PID1_X3+10,PID1_Y9,"P2: 比例");
TextOut(hmemDC,PID1_X3+10,PID1_Y10,"I2: 积分");
TextOut(hmemDC,PID1_X3+10,PID1_Y11,"D2: 微分");		   	}
	    break;
    case MSG_SHEETCMD:
        if (wParam == IDOK) {
        //    char buffer [20];
         //   GetDlgItemText (hDlg, IDC_EDIT1, buffer, 18);
        //    buffer [18] = '\0';

        }
        return 0;

    case MSG_COMMAND:
        switch (wParam) {
        case IDOK:
        case IDCANCEL:
            MessageBox (hDlg, "Button pushed", "OK", 
                            MB_OK | MB_ICONINFORMATION | MB_BASEDONPARENT);
            break;
        }
        break;
    }
    
    return DefaultPageProc (hDlg, message, wParam, lParam);
}




//属性字页面5
static int 
PageProc5 (HWND hDlg, int message, WPARAM wParam, LPARAM lParam)
{
HDC hmemDC;
    switch (message) {
    case MSG_INITPAGE:
        break;
    case MSG_SHOWPAGE:
        return 1;
   case MSG_PAINT:
		   		{
	   		hmemDC = BeginPaint(hDlg); 
    SetBkMode(hmemDC,BM_TRANSPARENT);//?   SetBkMode
	SetTextColor(hmemDC,PIXEL_black);  //矩形图TAG	   
	  SelectFont(hmemDC,songgb16font);
	  

TextOut(hmemDC,PID1_X1,PID1_Y1-30,"工作方式4:双回输入一路输出调节器");
TextOut(hmemDC,PID1_X2,PID1_Y1 ,"PV1,PV2为同类型信号");

	TextOut(hmemDC,PID1_X1,PID1_Y2,"PV1被控对象1实测值:   ");
	TextOut(hmemDC,PID1_X3,PID1_Y2,"PV2被控对象2实测值: ");	
	TextOut(hmemDC,PID1_X1,PID1_Y3,"回路1:自动");
	TextOut(hmemDC,PID1_X3,PID1_Y3,"回路2:自动");
	
	
	TextOut(hmemDC,PID1_X1,PID1_Y4,"SV1回路1控制设定值:");
	TextOut(hmemDC,PID1_X3,PID1_Y4,"SV2回路1控制设定值:");


	TextOut(hmemDC,PID1_X1,PID1_Y5,"OUT1控制输出设定值:");
	TextOut(hmemDC,PID1_X3,PID1_Y5,"OUT2控制输出设定值:");

	TextOut(hmemDC,PID1_X1,PID1_Y8 ,"输出电流:   OUT1");
	 TextOut(hmemDC,PID1_X2,PID1_Y8 ,"选OUT1,OUT2中较大值的回路");
	
//	TextOut(hmemDC,PID1_X1,PID1_Y8 ,"AF1:继电器1方式");
//	TextOut(hmemDC,PID1_X3,PID1_Y8 ,"AF2:继电器2方式");
TextOut(hmemDC,PID1_X1,PID1_Y9,"P1: 比例");
TextOut(hmemDC,PID1_X1,PID1_Y10,"I1: 积分");
TextOut(hmemDC,PID1_X1,PID1_Y11,"D1: 微分");

TextOut(hmemDC,PID1_X3+10,PID1_Y9,"P2: 比例");
TextOut(hmemDC,PID1_X3+10,PID1_Y10,"I2: 积分");
TextOut(hmemDC,PID1_X3+10,PID1_Y11,"D2: 微分");

		     	EndPaint(hDlg,hmemDC);
		   	}
	    break;
    case MSG_SHEETCMD:
        if (wParam == IDOK) {
        //    char buffer [20];
         //   GetDlgItemText (hDlg, IDC_EDIT1, buffer, 18);
        //    buffer [18] = '\0';

        }
        return 0;

    case MSG_COMMAND:
        switch (wParam) {
        case IDOK:
        case IDCANCEL:
            MessageBox (hDlg, "Button pushed", "OK", 
                            MB_OK | MB_ICONINFORMATION | MB_BASEDONPARENT);
            break;
        }
        break;
    }
    
    return DefaultPageProc (hDlg, message, wParam, lParam);
}



//属性字页面2
static int 
PageProc6 (HWND hDlg, int message, WPARAM wParam, LPARAM lParam)
{
HDC hmemDC;
    switch (message) {
    case MSG_INITPAGE:
        break;
    case MSG_SHOWPAGE:
        return 1;
   case MSG_PAINT:
		   		{
	   		hmemDC = BeginPaint(hDlg); 
    SetBkMode(hmemDC,BM_TRANSPARENT);//?   SetBkMode
	SetTextColor(hmemDC,PIXEL_black);  //矩形图TAG	   
	  SelectFont(hmemDC,songgb16font);

TextOut(hmemDC,PID1_X1,PID1_Y1-30,"工作方式4:双回输入一路输出调节器");
TextOut(hmemDC,PID1_X2,PID1_Y1 ,"PV1,PV2为不同类型信号");

	TextOut(hmemDC,PID1_X1,PID1_Y2,"PV1被控对象1实测值:   ");
	TextOut(hmemDC,PID1_X3,PID1_Y2,"PV2被控对象2实测值: ");	
	TextOut(hmemDC,PID1_X1,PID1_Y3,"回路1:自动");
	TextOut(hmemDC,PID1_X3,PID1_Y3,"回路2:自动");
	
	
	TextOut(hmemDC,PID1_X1,PID1_Y4,"SV1回路1控制设定值:");
	TextOut(hmemDC,PID1_X3,PID1_Y4,"SV2回路1控制设定值:");


	TextOut(hmemDC,PID1_X1,PID1_Y5,"OUT1控制输出设定值:");
	TextOut(hmemDC,PID1_X3,PID1_Y5,"OUT2控制输出设定值:");

	TextOut(hmemDC,PID1_X1,PID1_Y8 ,"输出电流1:   ");
	 TextOut(hmemDC,PID1_X2,PID1_Y8 ,"选OUT1,OUT2中较大值的回路");

	
//	TextOut(hmemDC,PID1_X1,PID1_Y8 ,"AF1:继电器1方式");
//	TextOut(hmemDC,PID1_X3,PID1_Y8 ,"AF2:继电器2方式");
TextOut(hmemDC,PID1_X1,PID1_Y9,"P1: 比例");
TextOut(hmemDC,PID1_X1,PID1_Y10,"I1: 积分");
TextOut(hmemDC,PID1_X1,PID1_Y11,"D1: 微分");

TextOut(hmemDC,PID1_X3+10,PID1_Y9,"P2: 比例");
TextOut(hmemDC,PID1_X3+10,PID1_Y10,"I2: 积分");
TextOut(hmemDC,PID1_X3+10,PID1_Y11,"D2: 微分");

		     	EndPaint(hDlg,hmemDC);
		   	}
	    break;
    case MSG_SHEETCMD:
        if (wParam == IDOK) {
        //    char buffer [20];
         //   GetDlgItemText (hDlg, IDC_EDIT1, buffer, 18);
        //    buffer [18] = '\0';

        }
        return 0;

    case MSG_COMMAND:
        switch (wParam) {
        case IDOK:
        case IDCANCEL:
            MessageBox (hDlg, "Button pushed", "OK", 
                            MB_OK | MB_ICONINFORMATION | MB_BASEDONPARENT);
            break;
        }
        break;
    }
    
    return DefaultPageProc (hDlg, message, wParam, lParam);
}

//显示板卡属性页
void ShowProp(HWND hDlg)
{
	ShowWindow(GetDlgItem (hDlg, CPID_BT1),SW_HIDE) ;
	ShowWindow(GetDlgItem (hDlg, CPID_BT2),SW_HIDE) ;
	ShowWindow(GetDlgItem (hDlg, CPID_BT3),SW_HIDE) ;
	ShowWindow(GetDlgItem (hDlg, CPID_BT4),SW_HIDE) ;
	ShowWindow(GetDlgItem (hDlg, IDC_PROPSHEET),SW_SHOW) ;
}
//显示板卡基本信息
void ShowPage1(HWND hDlg)
{
	ShowWindow(GetDlgItem (hDlg, CPID_BT1),SW_SHOW) ;
	ShowWindow(GetDlgItem (hDlg, CPID_BT2),SW_SHOW) ;
	ShowWindow(GetDlgItem (hDlg, CPID_BT3),SW_SHOW) ;
	ShowWindow(GetDlgItem (hDlg, CPID_BT4),SW_SHOW) ;
	ShowWindow(GetDlgItem (hDlg, IDC_PROPSHEET),SW_HIDE) ;
}
//pid Card main proc
int  PIDDialogProc (HWND hDlg, int message, WPARAM wParam, LPARAM lParam)
{
	HDC hdc;
	HDC hmemDC;
	int id;
 HWND pshwnd; 
	static  BOOL keydowned;
		static int nowpage=0;//记录参数页面按钮按下的次数
	    	static int ctrl_pid_id;//按键ID号或者是文本焦点号码
		static BOOL flag_entered;//是否按下了ENTER键
    		static int index;//上下键选择
    		int index2;
    		    		static int num ;// 记录下拉条数
	  	id= LOWORD (wParam);
	
    switch (message) 
    { 
    case MSG_INITDIALOG:	
		

       
 		 CreatePidCtrl1( hDlg);
		 ShowPidCtrl1(hDlg);
				pshwnd = GetDlgItem (hDlg, IDC_PROPSHEET);
 				DlgStructParams1.controls = CtrlStructParams1;
            			SendMessage (pshwnd, PSM_ADDPAGE,
                            (WPARAM)&DlgStructParams1, (LPARAM)PageProc1);
				DlgStructParams2.controls = CtrlStructParams2;
            			SendMessage (pshwnd, PSM_ADDPAGE,
                            (WPARAM)&DlgStructParams2, (LPARAM)PageProc2);
	  			DlgStructParams3.controls = CtrlStructParams3;
            			SendMessage (pshwnd, PSM_ADDPAGE,
                            (WPARAM)&DlgStructParams3, (LPARAM)PageProc3);
				DlgStructParams4.controls = CtrlStructParams4;
            			SendMessage (pshwnd, PSM_ADDPAGE,
                            (WPARAM)&DlgStructParams4, (LPARAM)PageProc4);
				DlgStructParams5.controls = CtrlStructParams5;
            			SendMessage (pshwnd, PSM_ADDPAGE,
                            (WPARAM)&DlgStructParams5, (LPARAM)PageProc5);
				DlgStructParams6.controls = CtrlStructParams6;
            			SendMessage (pshwnd, PSM_ADDPAGE,
                            (WPARAM)&DlgStructParams6, (LPARAM)PageProc6);
			   ShowWindow(GetDlgItem (hDlg, IDC_PROPSHEET),SW_HIDE) ;

			InitPIDCard(hDlg);

		/*
			
		CreatePidCtrl2( hDlg);
		CreatePidCtrl3( hDlg);
		
		
	
		HidePidCtrl2(hDlg);
		HidePidCtrl3(hDlg);
		

		*/
	return 1;
		  case MSG_CREATE:
		  	break;
	  case MSG_SHOWWINDOW:
			{ 
		   if(pid_dev_num>0)//表示存在流量卡
                       {
                       pid_id=0;
              	 //eadFPage1(pid_id);//从通讯读取第一个卡
                       }	  
		      }  		      
		 break; 
      case MSG_TIMER:

	  break;
	   case MSG_PAINT:
	   		hdc = BeginPaint(hDlg);  
			
			 
		 	 if(nowpage==0) 
		 	  
		  ShowPIDPage1(hDlg,hdc);
    			//
			//  else if(nowpage==1) ShowPIDPage2( hDlg,  hdc);
			//  else if(nowpage==2) ShowPIDPage3( hDlg,  hdc);
			  
		     	EndPaint(hDlg,hdc);
	    break;	
	
 	case MSG_KEYDOWN:
		
        	if(!keydowned)
        	 {
              	if(id==KEY_LEFT)	
              	 SendDlgItemMessage(hDlg, CPID_LEFT, MSG_LBUTTONDOWN, 0,0);
              	if(id==KEY_RIGHT)SendDlgItemMessage(hDlg, CPID_RIGHT, MSG_LBUTTONDOWN, 0,0);
              	if(id==KEY_UP)SendDlgItemMessage(hDlg, CPID_UP, MSG_LBUTTONDOWN, 0,0);
              	if(id==KEY_DOWN)SendDlgItemMessage(hDlg, CPID_DOWN, MSG_LBUTTONDOWN, 0,0);
              	 if(id==KEY_ENTER)SendDlgItemMessage(hDlg, CPID_ENTER, MSG_LBUTTONDOWN, 0,0);
				 
              	 if(id==KEY_LAST)SendDlgItemMessage(hDlg, CPID_BOT_LEFT, BM_SETSTATE, BST_PUSHED,0);
              	 if(id==KEY_NEXT)SendDlgItemMessage(hDlg, CPID_BOT_RIGHT, BM_SETSTATE, BST_PUSHED,0);
              	 if(id==KEY_PARA)SendDlgItemMessage(hDlg, CP2_PAGE, BM_SETSTATE, BST_PUSHED,0);
	              	 if(id==KEY_CARD)SendDlgItemMessage(hDlg, CP2_CARD, BM_SETSTATE, BST_PUSHED,0);
			 
              	 if(id==KEY_SET)SendDlgItemMessage(hDlg, CP2_SET, BM_SETSTATE, BST_PUSHED,0);
              	 if(id==KEY_RETURN)SendDlgItemMessage(hDlg, CPID_BOT_RETURN, BM_SETSTATE, BST_PUSHED,0);
              	keydowned=1;
		}
	  break;	
	 case MSG_KEYUP:
	  {
		keydowned=0;
		if(id==KEY_EXIT)  		EndDialog (hDlg, 0);
		if(id==SCANCODE_F1)  		EndDialog (hDlg, 0);
		if(id==KEY_LEFT) 	
			{
			SendDlgItemMessage(hDlg, CPID_LEFT, MSG_LBUTTONUP, 0,0);
			ctrl_pid_id=pid1_id_left[ctrl_pid_id-pid_page_ctrlid];

⌨️ 快捷键说明

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