1753evt.c
字号:
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 + -