📄 addmabm.c
字号:
{
CheckDlgButton(hDlg,(IDC_TERMINATE),FALSE);
}
// Overrun
if( bOverrun )
{
CheckDlgButton(hDlg,(IDC_OVERRUN),TRUE);
}
else
{
CheckDlgButton(hDlg,(IDC_OVERRUN),FALSE);
}
// Interrupt
if( bInterrupt )
{
CheckDlgButton(hDlg,(IDC_INTERRUPT),TRUE);
EnableWindow(GetDlgItem(hDlg,(IDC_EVENTCOUNT)),TRUE);
}
else
{
CheckDlgButton(hDlg,(IDC_INTERRUPT),FALSE);
EnableWindow(GetDlgItem(hDlg,(IDC_EVENTCOUNT)),FALSE);
}
// Step 5: Close device
DRV_DeviceClose((LONG far *)&DriverHandle);
return TRUE;
case WM_COMMAND :
switch (LOWORD(wParam))
{
case IDOK :
{
for ( i = IDC_PACERTRIG; i <= IDC_ABOUTTRIG; i++)
if( SendDlgItemMessage(hDlg, i, BM_GETCHECK, 0, 0) == 1)
gwTrigMode = (i - IDC_PACERTRIG);
if((gwTrigMode == 2) || (gwTrigMode == 3))
{
SendDlgItemMessage(hDlg, IDC_DELAYCNT, WM_GETTEXT, 10, (LPARAM)(LPSTR)szBuffer) ;
gwDelayCnt = (USHORT)atoi(szBuffer);
}
else
gwDelayCnt = 2;
if(gwSRCType)
{
SendDlgItemMessage(hDlg, IDC_TRIGVOLTAGE, WM_GETTEXT, 10, (LPARAM)(LPSTR)szBuffer) ;
gwTrigVol = (FLOAT)atof(szBuffer);
}
}
case IDCANCEL :
EndDialog(hDlg, 0);
return TRUE;
case IDC_GAINLIST :
DialogBox (hInst, MAKEINTRESOURCE(IDD_GAINLIST),
hDlg, lpfnGainListDlgProc) ;
return TRUE;
case IDC_DeviceSelect:
// Step 1: Select Device
ErrCde = DRV_SelectDevice(hDlg, FALSE, &dwDeviceNum, szBuffer);
if (ErrCde != SUCCESS)
{
DRV_GetErrorMessage(ErrCde,(LPSTR)szErrMsg);
MessageBox(hWnd,(LPCSTR)szErrMsg,"Driver Message",MB_OK);
return 0;
}
// -------------------------------------------------
// Initialize Input Range List Combobox, it needs to
// get device features for gain list
// -------------------------------------------------
// Step 2: Open Device
ErrCde = DRV_DeviceOpen(dwDeviceNum, (LONG far *)&DriverHandle);
if (ErrCde != SUCCESS)
{
DRV_GetErrorMessage(ErrCde,(LPSTR)szErrMsg);
MessageBox(hWnd, (LPCSTR)szErrMsg,
"Driver Message", MB_OK);
return 0;
}
// Step 3: Get device features
ptDevFeatures.buffer = (LPDEVFEATURES)&DevFeatures;
ptDevFeatures.size = sizeof(DEVFEATURES);
if ((ErrCde = DRV_DeviceGetFeatures(DriverHandle,
(LPT_DeviceGetFeatures)&ptDevFeatures)) != SUCCESS)
{
DRV_GetErrorMessage(ErrCde,(LPSTR)szErrMsg);
MessageBox(hWnd, (LPCSTR)szErrMsg, "Driver Message",
MB_OK);
DRV_DeviceClose((LONG far *)&DriverHandle);
return 0;
}
// Step 4: Initialize Range Combobox with device features
gwGainCode = 0;
if (DevFeatures.usNumGain != 0)
{
EnableWindow(GetDlgItem(hDlg, IDC_INPRANGE), TRUE);
SendDlgItemMessage(hDlg, IDC_INPRANGE, CB_RESETCONTENT,
0, (LPARAM)((LPSTR)0));
for (i = 0; i < (int)DevFeatures.usNumGain; i ++)
SendDlgItemMessage(hDlg, IDC_INPRANGE, CB_ADDSTRING, 0,
(LPARAM)((LPSTR)(DevFeatures.glGainList[i].szGainStr)));
SendDlgItemMessage(hDlg, IDC_INPRANGE,
CB_SELECTSTRING, (WPARAM)(-1),
(LPARAM)((LPSTR)(DevFeatures.glGainList[gwGainCode].szGainStr)));
}
else
{
EnableWindow(GetDlgItem(hDlg, IDC_INPRANGE), FALSE);
SendDlgItemMessage(hDlg, IDC_INPRANGE, CB_RESETCONTENT,
0, (LPARAM)((LPSTR)0));
}
// Step 5: Close device
DRV_DeviceClose((LONG far *)&DriverHandle);
return TRUE;
case IDC_CONVERSION :
if (HIWORD(wParam) == EN_KILLFOCUS)
{
if(SendDlgItemMessage(hDlg, IDC_CONVERSION,
EM_GETMODIFY, 0, 0))
{
SendDlgItemMessage(hDlg, IDC_CONVERSION,
WM_GETTEXT, 10, (LPARAM)(LPSTR)szBuffer) ;
gulConvNum = (ULONG)atol(szBuffer);
SendDlgItemMessage(hDlg, IDC_CONVERSION,
EM_SETMODIFY, FALSE, 0) ;
}
}
return TRUE;
case IDC_PACER :
if (HIWORD(wParam) == EN_KILLFOCUS)
{
if(SendDlgItemMessage(hDlg, IDC_PACER,
EM_GETMODIFY, 0, 0))
{
SendDlgItemMessage(hDlg, IDC_PACER,
WM_GETTEXT, 10, (LPARAM)(LPSTR)szBuffer) ;
gdwPacerRate = (ULONG)atol(szBuffer);
SendDlgItemMessage(hDlg, IDC_PACER,
EM_SETMODIFY, FALSE, 0) ;
}
}
return TRUE;
case IDC_INPRANGE :
if (HIWORD(wParam) == CBN_KILLFOCUS)
{
i = (int)SendDlgItemMessage(hDlg, IDC_INPRANGE,
CB_GETCURSEL, 0, 0) ;
if (i != CB_ERR)
gwGainCode = (USHORT)i;
}
return TRUE;
case IDC_ESTART :
if (HIWORD(wParam) == EN_KILLFOCUS)
{
if(SendDlgItemMessage(hDlg, IDC_ESTART,
EM_GETMODIFY, 0, 0))
{
SendDlgItemMessage(hDlg, IDC_ESTART,
WM_GETTEXT, 10, (LPARAM)(LPSTR)szBuffer) ;
gwStartChl = (USHORT)atoi(szBuffer);
SendDlgItemMessage(hDlg, IDC_ESTART,
EM_SETMODIFY, FALSE, 0) ;
}
}
return TRUE;
case IDC_ESTOP :
if (HIWORD(wParam) == EN_KILLFOCUS)
{
if(SendDlgItemMessage(hDlg, IDC_ESTOP,
EM_GETMODIFY, 0, 0))
{
SendDlgItemMessage(hDlg, IDC_ESTOP,
WM_GETTEXT, 10, (LPARAM)(LPSTR)szBuffer) ;
gwNumChl = (USHORT)atoi(szBuffer);
SendDlgItemMessage(hDlg, IDC_ESTOP,
EM_SETMODIFY, FALSE, 0) ;
}
}
return TRUE;
case IDC_OVERALLGAIN :
gwGainList = 0;
EnableWindow(GetDlgItem(hDlg, IDC_INPRANGE), TRUE);
EnableWindow(GetDlgItem(hDlg, IDC_GAINLIST), FALSE);
break;
case IDC_GAINARRAY :
gwGainList = 1;
EnableWindow(GetDlgItem(hDlg, IDC_INPRANGE), FALSE);
EnableWindow(GetDlgItem(hDlg, IDC_GAINLIST), TRUE);
break;
case IDC_INTTRIG :
EnableWindow(GetDlgItem(hDlg, IDC_PACER), TRUE);
gwClockSrc = 0;
break;
case IDC_EXTTRIG_0:
EnableWindow(GetDlgItem(hDlg, IDC_PACER), FALSE);
gwClockSrc = 1;
break;
case IDC_EXTTRIG_1:
EnableWindow(GetDlgItem(hDlg, IDC_PACER), FALSE);
gwClockSrc = 2;
break;
case IDC_CYCLIC :
gwCyclicMode = 1;
break;
case IDC_NONCYCLIC :
gwCyclicMode = 0;
break;
case IDC_DATAUSHORT :
gwDataType = 0;
break;
case IDC_DATAFLOAT :
gwDataType = 1;
break;
case IDC_EVTENABLE :
gwEvtFlag = 1;
break;
case IDC_EVTDISABLE :
gwEvtFlag = 0;
break;
case IDC_PACERTRIG:
EnableWindow(GetDlgItem(hDlg,IDC_DELAYCNT), FALSE);
EnableWindow(GetDlgItem(hDlg, IDC_TRIGSRC1), FALSE);
EnableWindow(GetDlgItem(hDlg, IDC_TRIGSRC2), FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_DIGTYPE), FALSE);
EnableWindow(GetDlgItem(hDlg, IDC_ANGTYPE_0), FALSE);
EnableWindow(GetDlgItem(hDlg, IDC_ANGTYPE_1), FALSE);
EnableWindow(GetDlgItem(hDlg, IDC_ANGTYPE_2), FALSE);
EnableWindow(GetDlgItem(hDlg, IDC_ANGTYPE_3), FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_EDGERISE), FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_EDGEFALL), FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_CYCLIC), TRUE);
EnableWindow(GetDlgItem(hDlg,IDC_NONCYCLIC), TRUE);
gwExtTrig = 0;
CheckRadioButton(hDlg, IDC_TRIGSRC1, IDC_TRIGSRC2,
(gwExtTrig)?IDC_TRIGSRC2:IDC_TRIGSRC1);
break;
case IDC_POSTTRIG:
EnableWindow(GetDlgItem(hDlg,IDC_DELAYCNT), FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_TRIGSRC1), FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_TRIGSRC2), FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_DIGTYPE), TRUE);
EnableWindow(GetDlgItem(hDlg, IDC_ANGTYPE_0), TRUE);
EnableWindow(GetDlgItem(hDlg, IDC_ANGTYPE_1), TRUE);
EnableWindow(GetDlgItem(hDlg, IDC_ANGTYPE_2), TRUE);
EnableWindow(GetDlgItem(hDlg, IDC_ANGTYPE_3), TRUE);
EnableWindow(GetDlgItem(hDlg,IDC_EDGERISE), TRUE);
EnableWindow(GetDlgItem(hDlg,IDC_EDGEFALL), TRUE);
EnableWindow(GetDlgItem(hDlg,IDC_CYCLIC), TRUE);
EnableWindow(GetDlgItem(hDlg,IDC_NONCYCLIC), TRUE);
gwExtTrig = 1;
CheckRadioButton(hDlg, IDC_TRIGSRC1, IDC_TRIGSRC2,
(gwExtTrig)?IDC_TRIGSRC2:IDC_TRIGSRC1);
gwTrigEdge = 0;
CheckRadioButton(hDlg, IDC_EDGERISE, IDC_EDGEFALL,
(gwTrigEdge)?IDC_EDGEFALL:IDC_EDGERISE);
break;
case IDC_DELAYTRIG:
case IDC_ABOUTTRIG:
EnableWindow(GetDlgItem(hDlg,IDC_DELAYCNT), TRUE);
EnableWindow(GetDlgItem(hDlg,IDC_TRIGSRC1), FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_TRIGSRC2), FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_DIGTYPE), TRUE);
EnableWindow(GetDlgItem(hDlg, IDC_ANGTYPE_0), TRUE);
EnableWindow(GetDlgItem(hDlg, IDC_ANGTYPE_1), TRUE);
EnableWindow(GetDlgItem(hDlg, IDC_ANGTYPE_2), TRUE);
EnableWindow(GetDlgItem(hDlg, IDC_ANGTYPE_3), TRUE);
EnableWindow(GetDlgItem(hDlg,IDC_EDGERISE), TRUE);
EnableWindow(GetDlgItem(hDlg,IDC_EDGEFALL), TRUE);
if ( wParam == IDC_ABOUTTRIG )
{
gwCyclicMode = 1;
EnableWindow(GetDlgItem(hDlg,IDC_CYCLIC), FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_NONCYCLIC), FALSE);
CheckRadioButton(hDlg, IDC_CYCLIC, IDC_NONCYCLIC,
(gwCyclicMode)?IDC_CYCLIC:IDC_NONCYCLIC);
gwTrigEdge = 0;
CheckRadioButton(hDlg, IDC_EDGERISE, IDC_EDGEFALL,
(gwTrigEdge)?IDC_EDGEFALL:IDC_EDGERISE);
}
else
{
EnableWindow(GetDlgItem(hDlg,IDC_CYCLIC), TRUE);
EnableWindow(GetDlgItem(hDlg,IDC_NONCYCLIC), TRUE);
gwTrigEdge = 1;
CheckRadioButton(hDlg, IDC_EDGERISE, IDC_EDGEFALL,
(gwTrigEdge)?IDC_EDGEFALL:IDC_EDGERISE);
}
gwExtTrig = 1;
CheckRadioButton(hDlg, IDC_TRIGSRC1, IDC_TRIGSRC2,
(gwExtTrig)?IDC_TRIGSRC2:IDC_TRIGSRC1);
break;
case IDC_TRIGSRC1:
gwExtTrig = 0;
break;
case IDC_TRIGSRC2:
gwExtTrig = 1;
break;
case IDC_EDGERISE:
gwTrigEdge = 0;
break;
case IDC_EDGEFALL:
gwTrigEdge = 1;
break;
case IDC_DIGTYPE:
EnableWindow(GetDlgItem(hDlg, IDC_TRIGVOLTAGE), FALSE);
EnableWindow(GetDlgItem(hDlg, IDC_TEXTVOL), FALSE);
EnableWindow(GetDlgItem(hDlg, IDC_TEXTV), FALSE);
gwSRCType = 0;
break;
case IDC_ANGTYPE_0:
case IDC_ANGTYPE_1:
case IDC_ANGTYPE_2:
case IDC_ANGTYPE_3:
EnableWindow(GetDlgItem(hDlg, IDC_TRIGVOLTAGE), TRUE);
EnableWindow(GetDlgItem(hDlg, IDC_TEXTVOL), TRUE);
EnableWindow(GetDlgItem(hDlg, IDC_TEXTV), TRUE);
gwSRCType = wParam - IDC_DIGTYPE;
break;
case IDC_BUFFERCHANGE:
if(IsDlgButtonChecked(hDlg, IDC_BUFFERCHANGE))
{
bBufferChange = 1;
}
else
{
bBufferChange = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -