📄 wdadmabm.c
字号:
SendDlgItemMessage(hDlg, IDC_CONVERSION,
WM_GETTEXT, 10, (LPARAM)(LPSTR)szBuffer) ;
gulConvNum = 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 = atol(szBuffer);
SendDlgItemMessage(hDlg, IDC_PACER,
EM_SETMODIFY, FALSE, 0) ;
}
}
return TRUE;
case IDC_WAVEFORMCOUNT :
if (HIWORD(wParam) == EN_KILLFOCUS)
{
if(SendDlgItemMessage(hDlg, IDC_WAVEFORMCOUNT,
EM_GETMODIFY, 0, 0))
{
SendDlgItemMessage(hDlg, IDC_WAVEFORMCOUNT,
WM_GETTEXT, 10, (LPARAM)(LPSTR)szBuffer) ;
if(!strcmp(szBuffer,"INFINITE"))
gwWaveFormCount = INFINITE;
else
gwWaveFormCount = atol(szBuffer);
SendDlgItemMessage(hDlg, IDC_WAVEFORMCOUNT,
EM_SETMODIFY, FALSE, 0) ;
}
}
return TRUE;
case IDC_INTTRIG :
gwExtTrig = 0;
break;;
case IDC_EXTTRIG :
gwExtTrig = 1;
break;
case IDC_EVTENABLE :
gwEvtFlag = 1;
break;
case IDC_EVTDISABLE :
gwEvtFlag = 0;
break;
}
break;
}
return FALSE ;
}
/***************************************************************************
FUNCTION: WaveDlgProc(HWND, unsigned, WPARAM, LPARAM)
PURPOSE: Processes dialog box messages for waveform setting
****************************************************************************/
BOOL FTYPE WaveDlgProc(hDlg, message, wParam, lParam)
HWND hDlg; /* window handle */
unsigned message; /* type of message */
WPARAM wParam; /* additional information */
LPARAM lParam; /* additional information */
{
int i;
switch (message)
{
case WM_INITDIALOG :
// Initialize Output Waveform's Selection
for (i = 0; i < 5; i ++)
{
SendDlgItemMessage(hDlg, IDC_WAVE_CH0, CB_ADDSTRING, 0,
(LPARAM)((LPSTR)szWaveform[i]));
SendDlgItemMessage(hDlg, IDC_WAVE_CH1, CB_ADDSTRING, 0,
(LPARAM)((LPSTR)szWaveform[i]));
SendDlgItemMessage(hDlg, IDC_WAVE_CH2, CB_ADDSTRING, 0,
(LPARAM)((LPSTR)szWaveform[i]));
SendDlgItemMessage(hDlg, IDC_WAVE_CH3, CB_ADDSTRING, 0,
(LPARAM)((LPSTR)szWaveform[i]));
}
SendDlgItemMessage(hDlg, IDC_WAVE_CH0, CB_SELECTSTRING, (WPARAM)(-1),
(LPARAM)((LPSTR)szWaveform[sWaveCh0.wWaveform]));
SendDlgItemMessage(hDlg, IDC_WAVE_CH1, CB_SELECTSTRING,
(WPARAM)(-1), (LPARAM)((LPSTR)szWaveform[sWaveCh1.wWaveform]));
SendDlgItemMessage(hDlg, IDC_WAVE_CH2, CB_SELECTSTRING, (WPARAM)(-1),
(LPARAM)((LPSTR)szWaveform[sWaveCh2.wWaveform]));
SendDlgItemMessage(hDlg, IDC_WAVE_CH3, CB_SELECTSTRING,
(WPARAM)(-1), (LPARAM)((LPSTR)szWaveform[sWaveCh3.wWaveform]));
// Initialize Magnitude
sprintf(szBuffer, "%6.2f", sWaveCh0.fMagnitude);
SendDlgItemMessage(hDlg, IDC_MAGNITUDE_CH0, EM_REPLACESEL, 0,
(LPARAM)((LPSTR)szBuffer));
sprintf(szBuffer, "%6.2f", sWaveCh1.fMagnitude);
SendDlgItemMessage(hDlg, IDC_MAGNITUDE_CH1, EM_REPLACESEL, 0,
(LPARAM)((LPSTR)szBuffer));
sprintf(szBuffer, "%6.2f", sWaveCh2.fMagnitude);
SendDlgItemMessage(hDlg, IDC_MAGNITUDE_CH2, EM_REPLACESEL, 0,
(LPARAM)((LPSTR)szBuffer));
sprintf(szBuffer, "%6.2f", sWaveCh3.fMagnitude);
SendDlgItemMessage(hDlg, IDC_MAGNITUDE_CH3, EM_REPLACESEL, 0,
(LPARAM)((LPSTR)szBuffer));
// Initialize Offset
sprintf(szBuffer, "%6.2f", sWaveCh0.fOffset);
SendDlgItemMessage(hDlg, IDC_OFFSET_CH0, EM_REPLACESEL, 0,
(LPARAM)((LPSTR)szBuffer));
sprintf(szBuffer, "%6.2f", sWaveCh1.fOffset);
SendDlgItemMessage(hDlg, IDC_OFFSET_CH1, EM_REPLACESEL, 0,
(LPARAM)((LPSTR)szBuffer));
sprintf(szBuffer, "%6.2f", sWaveCh2.fOffset);
SendDlgItemMessage(hDlg, IDC_OFFSET_CH2, EM_REPLACESEL, 0,
(LPARAM)((LPSTR)szBuffer));
sprintf(szBuffer, "%6.2f", sWaveCh3.fOffset);
SendDlgItemMessage(hDlg, IDC_OFFSET_CH3, EM_REPLACESEL, 0,
(LPARAM)((LPSTR)szBuffer));
// Initialize Period
itoa(sWaveCh0.wPeriod, szBuffer, 10);
SendDlgItemMessage(hDlg, IDC_PERIOD_CH0, EM_REPLACESEL, 0,
(LPARAM)((LPSTR)szBuffer));
itoa(sWaveCh1.wPeriod, szBuffer, 10);
SendDlgItemMessage(hDlg, IDC_PERIOD_CH1, EM_REPLACESEL, 0,
(LPARAM)((LPSTR)szBuffer));
itoa(sWaveCh2.wPeriod, szBuffer, 10);
SendDlgItemMessage(hDlg, IDC_PERIOD_CH2, EM_REPLACESEL, 0,
(LPARAM)((LPSTR)szBuffer));
itoa(sWaveCh3.wPeriod, szBuffer, 10);
SendDlgItemMessage(hDlg, IDC_PERIOD_CH3, EM_REPLACESEL, 0,
(LPARAM)((LPSTR)szBuffer));
return TRUE;
case WM_COMMAND :
switch (LOWORD(wParam))
{
case IDOK :
case IDCANCEL :
if ( bRunTimer )
{
for(i=0; i<4; i++)
{
switch(i)
{
case 0 :
if(sWaveCh0.wWaveform != 4) // 4 --> No Waveform
{
usEnabledChannel |= ADV_CHANNEL0;
// set real voltage to hVoltageBuf
SetRealBuffer(lpVoltageBuf[0], gulConvNum, &sWaveCh0);
usChannelCount++;
}
else
continue;
break;
case 1 :
if(sWaveCh1.wWaveform != 4)
{
usEnabledChannel |= ADV_CHANNEL1;
SetRealBuffer(lpVoltageBuf[1], gulConvNum, &sWaveCh1);
usChannelCount++;
}
else
continue;
break;
case 2 :
if(sWaveCh2.wWaveform != 4)
{
usEnabledChannel |= ADV_CHANNEL2;
SetRealBuffer(lpVoltageBuf[2], gulConvNum, &sWaveCh2);
usChannelCount++;
}
else
continue;
break;
case 3 :
if(sWaveCh3.wWaveform != 4)
{
usEnabledChannel |= ADV_CHANNEL3;
SetRealBuffer(lpVoltageBuf[3], gulConvNum, &sWaveCh3);
usChannelCount++;
}
else
continue;
break;
}
// call FAOScale for transfer voltage to binary data
ptFAOScale.VoltArray = lpVoltageBuf[i];
ptFAOScale.BinArray = lpBuf[i];
ptFAOScale.chan = i;
ptFAOScale.count = gulConvNum;
if ((ErrCde = DRV_FAOScale(DriverHandle,
(LPT_FAOScale)&ptFAOScale)) != 0)
{
DRV_GetErrorMessage(ErrCde,(LPSTR)szErrMsg);
MessageBox(hWnd,(LPCSTR)szErrMsg,"Driver Message",MB_OK);
MyFreeBuffer();
DRV_DeviceClose((LONG far *)&DriverHandle);
return 0;
}
}
SetMultiToOneBuffer(usEnabledChannel,gulConvNum);
}
EndDialog(hDlg, 0);
return TRUE;
case IDC_WAVE_CH0 :
if (HIWORD(wParam) == CBN_KILLFOCUS)
{
i = (int)SendDlgItemMessage(hDlg, IDC_WAVE_CH0,
CB_GETCURSEL, 0, 0) ;
if (i != CB_ERR)
sWaveCh0.wWaveform = i;
}
return TRUE;
case IDC_WAVE_CH1 :
if (HIWORD(wParam) == CBN_KILLFOCUS)
{
i = (int)SendDlgItemMessage(hDlg, IDC_WAVE_CH1,
CB_GETCURSEL, 0, 0) ;
if (i != CB_ERR)
sWaveCh1.wWaveform = i;
}
return TRUE;
case IDC_WAVE_CH2 :
if (HIWORD(wParam) == CBN_KILLFOCUS)
{
i = (int)SendDlgItemMessage(hDlg, IDC_WAVE_CH2,
CB_GETCURSEL, 0, 0) ;
if (i != CB_ERR)
sWaveCh2.wWaveform = i;
}
return TRUE;
case IDC_WAVE_CH3 :
if (HIWORD(wParam) == CBN_KILLFOCUS)
{
i = (int)SendDlgItemMessage(hDlg, IDC_WAVE_CH3,
CB_GETCURSEL, 0, 0) ;
if (i != CB_ERR)
sWaveCh3.wWaveform = i;
}
return TRUE;
case IDC_MAGNITUDE_CH0 :
if (HIWORD(wParam) == EN_KILLFOCUS)
{
if(SendDlgItemMessage(hDlg, IDC_MAGNITUDE_CH0,
EM_GETMODIFY, 0, 0))
{
SendDlgItemMessage(hDlg, IDC_MAGNITUDE_CH0,
WM_GETTEXT, 10, (LPARAM)(LPSTR)szBuffer) ;
sWaveCh0.fMagnitude = (float)atof(szBuffer);
SendDlgItemMessage(hDlg, IDC_MAGNITUDE_CH0,
EM_SETMODIFY, FALSE, 0) ;
}
}
return TRUE;
case IDC_MAGNITUDE_CH1 :
if (HIWORD(wParam) == EN_KILLFOCUS)
{
if(SendDlgItemMessage(hDlg, IDC_MAGNITUDE_CH1,
EM_GETMODIFY, 0, 0))
{
SendDlgItemMessage(hDlg, IDC_MAGNITUDE_CH1,
WM_GETTEXT, 10, (LPARAM)(LPSTR)szBuffer) ;
sWaveCh1.fMagnitude = (float)atof(szBuffer);
SendDlgItemMessage(hDlg, IDC_MAGNITUDE_CH1,
EM_SETMODIFY, FALSE, 0) ;
}
}
return TRUE;
case IDC_MAGNITUDE_CH2 :
if (HIWORD(wParam) == EN_KILLFOCUS)
{
if(SendDlgItemMessage(hDlg, IDC_MAGNITUDE_CH2,
EM_GETMODIFY, 0, 0))
{
SendDlgItemMessage(hDlg, IDC_MAGNITUDE_CH2,
WM_GETTEXT, 10, (LPARAM)(LPSTR)szBuffer) ;
sWaveCh2.fMagnitude = (float)atof(szBuffer);
SendDlgItemMessage(hDlg, IDC_MAGNITUDE_CH2,
EM_SETMODIFY, FALSE, 0) ;
}
}
return TRUE;
case IDC_MAGNITUDE_CH3 :
if (HIWORD(wParam) == EN_KILLFOCUS)
{
if(SendDlgItemMessage(hDlg, IDC_MAGNITUDE_CH3,
EM_GETMODIFY, 0, 0))
{
SendDlgItemMessage(hDlg, IDC_MAGNITUDE_CH3,
WM_GETTEXT, 10, (LPARAM)(LPSTR)szBuffer) ;
sWaveCh3.fMagnitude = (float)atof(szBuffer);
SendDlgItemMessage(hDlg, IDC_MAGNITUDE_CH3,
EM_SETMODIFY, FALSE, 0) ;
}
}
return TRUE;
case IDC_OFFSET_CH0 :
if (HIWORD(wParam) == EN_KILLFOCUS)
{
if(SendDlgItemMessage(hDlg, IDC_OFFSET_CH0,
EM_GETMODIFY, 0, 0))
{
SendDlgItemMessage(hDlg, IDC_OFFSET_CH0,
WM_GETTEXT, 10, (LPARAM)(LPSTR)szBuffer) ;
sWaveCh0.fOffset = (float)atof(szBuffer);
SendDlgItemMessage(hDlg, IDC_OFFSET_CH0,
EM_SETMODIFY, FALSE, 0) ;
}
}
return TRUE;
case IDC_OFFSET_CH1 :
if (HIWORD(wParam) == EN_KILLFOCUS)
{
if(SendDlgItemMessage(hDlg, IDC_OFFSET_CH1,
EM_GETMODIFY, 0, 0))
{
SendDlgItemMessage(hDlg, IDC_OFFSET_CH1,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -