欢迎来到虫虫下载站 | 资源下载 资源专辑 关于我们
虫虫下载站

1753evt.c

16 relay output channels and 16 isolated digital input channels LED indicators to show activated
C
第 1 页 / 共 4 页
字号:

			case IDC_PTNOPTION:
                 DialogBox (hInst, MAKEINTRESOURCE(IDD_EXPPATTERN),
                            hDlg, lpfnConfigExpPatternProc) ;
				 break;

            case IDOK :
				 usPEnable &= 0xff00;
				 usPValue &= 0xff00;
		         for(i=0; i<8; i++)
		            if(IsDlgButtonChecked(hDlg,IDC_Pattern0 + i))
					{
					 usPEnable |= (0x01 << i);
					 if(IsDlgButtonChecked(hDlg,IDC_PB0HI + (i*2)))
						 usPValue |= (0x01 << i);
					}

            case IDCANCEL :
                EndDialog(hDlg, 0);
                return TRUE;

         }
         break;
    }
    return FALSE ;
}
/***************************************************************************
    FUNCTION: ConfigExpPatternProc(HWND, unsigned, WPARAM, LPARAM)

    PURPOSE:  Processes dialog box messages for scan time settings
****************************************************************************/

BOOL FTYPE ConfigExpPatternProc
(
    HWND        hDlg,                          // window handle
    unsigned    message,                       // type of message
    WPARAM      wParam,                        // additional information
    LPARAM      lParam                         // additional information
)
{
    USHORT      i;

    switch (message)
    {
    case WM_INITDIALOG :
	  for(i=0; i<8; i++)
	  {
		 EnableWindow(GetDlgItem(hDlg,(IDC_ExpPattern0 + i)),TRUE);

		 if(usPEnable & (0x01 << (i+8)))
		 {
		    CheckDlgButton(hDlg,(IDC_ExpPattern0 + i),TRUE);
			EnableWindow(GetDlgItem(hDlg,IDC_ExpPB0HI + i),TRUE);
			EnableWindow(GetDlgItem(hDlg,IDC_ExpPB0LOW + i),TRUE);
			if(usPValue & (0x01 << i))
			   CheckDlgButton(hDlg,(IDC_ExpPB0HI + i),1);
			else
			   CheckDlgButton(hDlg,(IDC_ExpPB0LOW + i),1);
		 } else	 {
		    CheckDlgButton(hDlg,(IDC_ExpPattern0 + i),FALSE);
			EnableWindow(GetDlgItem(hDlg,IDC_ExpPB0HI + i),FALSE);
			EnableWindow(GetDlgItem(hDlg,IDC_ExpPB0LOW + i),FALSE);
		 }
	  }

        return TRUE;

    case WM_COMMAND :

         switch (LOWORD(wParam))
         {
		    case IDC_ExpPattern0:
                 if(IsDlgButtonChecked(hDlg, IDC_ExpPattern0))
				 {  EnableWindow(GetDlgItem(hDlg,IDC_ExpPB0HI ),TRUE);
			        EnableWindow(GetDlgItem(hDlg,IDC_ExpPB0LOW),TRUE);
			        CheckDlgButton(hDlg,IDC_ExpPB0HI,TRUE);	 
				 }
		         else
				 {  EnableWindow(GetDlgItem(hDlg,IDC_ExpPB0HI ),FALSE);
			        EnableWindow(GetDlgItem(hDlg,IDC_ExpPB0LOW),FALSE);}
				 break;
		    case IDC_ExpPattern1:
                 if(IsDlgButtonChecked(hDlg, IDC_ExpPattern1))
				 {  EnableWindow(GetDlgItem(hDlg,IDC_ExpPB1HI ),TRUE);
			        EnableWindow(GetDlgItem(hDlg,IDC_ExpPB1LOW),TRUE);
				    CheckDlgButton(hDlg,IDC_ExpPB1HI,TRUE);}
		         else
				 {  EnableWindow(GetDlgItem(hDlg,IDC_ExpPB1HI ),FALSE);
			        EnableWindow(GetDlgItem(hDlg,IDC_ExpPB1LOW),FALSE);}
				 break;
		    case IDC_ExpPattern2:
                 if(IsDlgButtonChecked(hDlg, IDC_ExpPattern2))
				 {  EnableWindow(GetDlgItem(hDlg,IDC_ExpPB2HI ),TRUE);
			        EnableWindow(GetDlgItem(hDlg,IDC_ExpPB2LOW),TRUE);
				    CheckDlgButton(hDlg,IDC_ExpPB2HI,TRUE);}
		         else
				 {  EnableWindow(GetDlgItem(hDlg,IDC_ExpPB2HI ),FALSE);
			        EnableWindow(GetDlgItem(hDlg,IDC_ExpPB2LOW),FALSE);}
				 break;
		    case IDC_ExpPattern3:
                 if(IsDlgButtonChecked(hDlg, IDC_ExpPattern3))
				 {  EnableWindow(GetDlgItem(hDlg,IDC_ExpPB3HI ),TRUE);
			        EnableWindow(GetDlgItem(hDlg,IDC_ExpPB3LOW),TRUE);
				    CheckDlgButton(hDlg,IDC_ExpPB3HI,TRUE);}
		         else
				 {  EnableWindow(GetDlgItem(hDlg,IDC_ExpPB3HI ),FALSE);
			        EnableWindow(GetDlgItem(hDlg,IDC_ExpPB3LOW),FALSE);}
				 break;
		    case IDC_ExpPattern4:
                 if(IsDlgButtonChecked(hDlg, IDC_ExpPattern4))
				 {  EnableWindow(GetDlgItem(hDlg,IDC_ExpPB4HI ),TRUE);
			        EnableWindow(GetDlgItem(hDlg,IDC_ExpPB4LOW),TRUE);
				    CheckDlgButton(hDlg,IDC_ExpPB4HI,TRUE);}
		         else
				 {  EnableWindow(GetDlgItem(hDlg,IDC_ExpPB4HI ),FALSE);
			        EnableWindow(GetDlgItem(hDlg,IDC_ExpPB4LOW),FALSE);}
				 break;
		    case IDC_ExpPattern5:
                 if(IsDlgButtonChecked(hDlg, IDC_ExpPattern5))
				 {  EnableWindow(GetDlgItem(hDlg,IDC_ExpPB5HI ),TRUE);
			        EnableWindow(GetDlgItem(hDlg,IDC_ExpPB5LOW),TRUE);
				    CheckDlgButton(hDlg,IDC_ExpPB5HI,TRUE);}
		         else
				 {  EnableWindow(GetDlgItem(hDlg,IDC_ExpPB5HI ),FALSE);
			        EnableWindow(GetDlgItem(hDlg,IDC_ExpPB5LOW),FALSE);}
				 break;
		    case IDC_ExpPattern6:
                 if(IsDlgButtonChecked(hDlg, IDC_ExpPattern6))
				 {  EnableWindow(GetDlgItem(hDlg,IDC_ExpPB6HI ),TRUE);
			        EnableWindow(GetDlgItem(hDlg,IDC_ExpPB6LOW),TRUE);
				    CheckDlgButton(hDlg,IDC_ExpPB6HI,TRUE);}
		         else
				 {  EnableWindow(GetDlgItem(hDlg,IDC_ExpPB6HI ),FALSE);
			        EnableWindow(GetDlgItem(hDlg,IDC_ExpPB6LOW),FALSE);}
				 break;
		    case IDC_ExpPattern7:
                 if(IsDlgButtonChecked(hDlg, IDC_ExpPattern7))
				 {  EnableWindow(GetDlgItem(hDlg,IDC_ExpPB7HI ),TRUE);
			        EnableWindow(GetDlgItem(hDlg,IDC_ExpPB7LOW),TRUE);
				    CheckDlgButton(hDlg,IDC_ExpPB7HI,TRUE);}
		         else
				 {  EnableWindow(GetDlgItem(hDlg,IDC_ExpPB7HI ),FALSE);
			        EnableWindow(GetDlgItem(hDlg,IDC_ExpPB7LOW),FALSE);}
				 break;
            case IDOK :
				 usPEnable &= 0x00ff;
				 usPValue &= 0x00ff;
		         for(i=0; i<8; i++)
		            if(IsDlgButtonChecked(hDlg,IDC_ExpPattern0 + i))
					{
					 usPEnable |= (0x01 << (i+8));
					 if(IsDlgButtonChecked(hDlg,IDC_ExpPB0HI + (i*2)))
						 usPValue |= (0x01 << (i+8));
					}

            case IDCANCEL :
                EndDialog(hDlg, 0);
                return TRUE;

         }
         break;
    }
    return FALSE ;
}
/***************************************************************************
    FUNCTION: ConfigStatusProc(HWND, unsigned, WPARAM, LPARAM)

    PURPOSE:  Processes dialog box messages for scan time settings
****************************************************************************/
BOOL FTYPE ConfigStatusProc
(
    HWND        hDlg,                          // window handle
    unsigned    message,                       // type of message
    WPARAM      wParam,                        // additional information
    LPARAM      lParam                         // additional information
)
{
    USHORT   i;

    switch (message)
    {
    case WM_INITDIALOG :
	  for(i=0; i<8; i++)
	  {
		 EnableWindow(GetDlgItem(hDlg,(IDC_Status0 + i)),TRUE);
		 if(usSEnable & (0x01 << i))
		    CheckDlgButton(hDlg,(IDC_Status0 + i),TRUE);
		 else
		    CheckDlgButton(hDlg,(IDC_Status0 + i),FALSE);
	  }
      return TRUE;

    case WM_COMMAND :
         switch (LOWORD(wParam))
         {
		    case IDC_STAOPTION:
                 DialogBox (hInst, MAKEINTRESOURCE(IDD_EXPSTATUS),
                            hDlg, lpfnConfigExpStatusProc) ;
				 break;

            case IDOK :
				 usSEnable &= 0xff00;// usSRiseEdge &= 0xff00; usSFallEdge &= 0xff00;
		         for(i=0; i<8; i++)
				 {
		           if(IsDlgButtonChecked(hDlg, (IDC_Status0 + i)))
                      usSEnable |= (0x01 << i);
				 }


            case IDCANCEL :
                EndDialog(hDlg, 0);
                return TRUE;

         }
         break;
    }
    return FALSE ;
}
/***************************************************************************
    FUNCTION: ConfigExpStatusProc(HWND, unsigned, WPARAM, LPARAM)

    PURPOSE:  Processes dialog box messages for scan time settings
****************************************************************************/

BOOL FTYPE ConfigExpStatusProc
(
    HWND        hDlg,                          // window handle
    unsigned    message,                       // type of message
    WPARAM      wParam,                        // additional information
    LPARAM      lParam                         // additional information
)
{
    USHORT   i;

    switch (message)
    {
    case WM_INITDIALOG :
      for(i=0; i<8; i++)
	  {
		 EnableWindow(GetDlgItem(hDlg,(IDC_ExpStatus0 + i)),TRUE);
		 if(usSEnable & (0x01 << (i+8)))
		    CheckDlgButton(hDlg,(IDC_ExpStatus0 + i),TRUE);
		 else
		    CheckDlgButton(hDlg,(IDC_ExpStatus0 + i),FALSE);
	  }
      return TRUE;

    case WM_COMMAND :
         switch (LOWORD(wParam))
         {
            case IDOK :
				 usSEnable &= 0x00ff;
		         for(i=0; i<8; i++)
				 {
		           if(IsDlgButtonChecked(hDlg, (IDC_ExpStatus0 + i)))
                      usSEnable |= (0x01 << (i+8));
				 }

            case IDCANCEL :
                EndDialog(hDlg, 0);
                return TRUE;

         }
      break;
    }
    return FALSE ;
}
/***************************************************************************
    FUNCTION: ConfigDlgProc(HWND, unsigned, WPARAM, LPARAM)

    PURPOSE:  Processes dialog box messages for configuration
****************************************************************************/
BOOL FTYPE ConfigDlgProc
(
    HWND        hDlg,                          // window handle
    unsigned    message,                       // type of message
    WPARAM      wParam,                        // additional information
    LPARAM      lParam                         // additional information
)
{
    int         i;
    DWORD       dwIndex;
    char        szBuffer[40];
    int         nOutEntries;

    switch (message)
    {
    case WM_INITDIALOG :

        // --------------------------------
        // Initialize Device List Combobox
        // --------------------------------

        // get number of the installed devices


		if ((ErrCde = DRV_DeviceGetNumOfList((SHORT far *)&gnNumOfDevices)) !=
            SUCCESS)
        {
             DRV_GetErrorMessage(ErrCde,(LPSTR)szErrMsg);
             MessageBox(hMainWnd,(LPCSTR)szErrMsg, "Driver Message", MB_OK);
             return TRUE;
        }


        // ----------------------------------------------------------------
        // used for dynamic allocation memory for these installed devices
        //
        // if ((hDeviceList = GlobalAlloc(GHND, gnNumOfDevices *
        //      sizeof(DEVLIST))) == NULL)
        // {
        //    MessageBox(hMainWnd, (LPCSTR)"Not Enough Memory",
        //        "Memory Allocation", MB_OK);
        //    return TRUE;
        // }
        // DeviceList = (LPDEVLIST)GlobalLock(hDeviceList);
        // ----------------------------------------------------------------


        if (gnNumOfDevices > MAX_DEVICES)
            gnNumOfDevices = MAX_DEVICES;

        // retrieve the information of all installed devices

        if ((ErrCde = DRV_DeviceGetList((DEVLIST far *)&DeviceList[0],
            (SHORT)gnNumOfDevices, (SHORT far *)&nOutEntries)) != (LONG)SUCCESS)
        {
            DRV_GetErrorMessage(ErrCde,(LPSTR)szErrMsg);
            MessageBox(hMainWnd,(LPCSTR)szErrMsg,"Driver Message",MB_OK);
            return TRUE;
        }

        // initialize the Device List Combobox with the retrieved information

        for (i = 0; i < gnNumOfDevices; i ++)
            SendDlgItemMessage(hDlg, IDC_DEVICE, CB_ADDSTRING, 0,
                        (LPARAM)((LPSTR)DeviceList[i].szDeviceName));

        SendDlgItemMessage(hDlg, IDC_DEVICE, CB_SETCURSEL,(WPARAM)gwDevice,
                        (LPARAM)0);


        // -----------------------------------------------------------
        // Initialize Module List Combobox for COM port or CAN devices
        // -----------------------------------------------------------

        // check if there is any device attached on this COM port or CAN

        gnNumOfSubdevices = DeviceList[gwDevice].nNumOfSubdevices;
        if (gnNumOfSubdevices > MAX_DEVICES)
            gnNumOfSubdevices = MAX_DEVICES;

⌨️ 快捷键说明

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