📄 dadma.c
字号:
(gwExtTrig)?IDC_EXTTRIG:IDC_INTTRIG);
// Initialize Repeated Mode
CheckRadioButton(hDlg, IDC_CYCLIC, IDC_NONCYCLIC,
(gwCyclicMode)?IDC_CYCLIC:IDC_NONCYCLIC);
// Initialize Message Flag
CheckRadioButton(hDlg, IDC_EVTENABLE, IDC_EVTDISABLE,
(gwEvtFlag)?IDC_EVTENABLE:IDC_EVTDISABLE);
return TRUE;
case WM_COMMAND :
switch (LOWORD(wParam))
{
case IDOK :
case IDCANCEL :
EndDialog(hDlg, 0);
return TRUE;
case IDC_DeviceSelect:
// Step 1: Select Device
ErrCde = DRV_SelectDevice(hDlg, FALSE, &dwDeviceNum, szDescript);
if (ErrCde != SUCCESS)
{
DRV_GetErrorMessage(ErrCde,(LPSTR)szErrMsg);
MessageBox(hWnd,(LPCSTR)szErrMsg,"Driver Message",MB_OK);
return 0;
}
// Show device description to Button text
SendDlgItemMessage(hDlg, IDC_DeviceSelect, WM_SETTEXT,
50, (LPARAM)(LPSTR)szDescript);
gwSelectDevice = TRUE;
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 = 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_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 = 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) ;
gwStopChl = atoi(szBuffer);
SendDlgItemMessage(hDlg, IDC_ESTOP,
EM_SETMODIFY, FALSE, 0) ;
}
}
return TRUE;
case IDC_INTTRIG :
EnableWindow(GetDlgItem(hDlg, IDC_PACER), TRUE);
gwExtTrig = 0;
break;;
case IDC_EXTTRIG :
EnableWindow(GetDlgItem(hDlg, IDC_PACER), FALSE);
gwExtTrig = 1;
break;
case IDC_CYCLIC :
gwCyclicMode = 1;
break;
case IDC_NONCYCLIC :
gwCyclicMode = 0;
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 :
if (gwBufferMode)
{
EnableWindow(GetDlgItem(hDlg, IDC_WAVE_B), TRUE);
EnableWindow(GetDlgItem(hDlg, IDC_MAGNITUDE_B), TRUE);
EnableWindow(GetDlgItem(hDlg, IDC_OFFSET_B), TRUE);
EnableWindow(GetDlgItem(hDlg, IDC_PERIOD_B), TRUE);
}
else
{
EnableWindow(GetDlgItem(hDlg, IDC_WAVE_B), FALSE);
EnableWindow(GetDlgItem(hDlg, IDC_MAGNITUDE_B), FALSE);
EnableWindow(GetDlgItem(hDlg, IDC_OFFSET_B), FALSE);
EnableWindow(GetDlgItem(hDlg, IDC_PERIOD_B), FALSE);
}
// Initialize Output Waveform's Selection
for (i = 0; i < 3; i ++)
{
SendDlgItemMessage(hDlg, IDC_WAVE_A, CB_ADDSTRING, 0,
(LPARAM)((LPSTR)szWaveform[i]));
SendDlgItemMessage(hDlg, IDC_WAVE_B, CB_ADDSTRING, 0,
(LPARAM)((LPSTR)szWaveform[i]));
}
SendDlgItemMessage(hDlg, IDC_WAVE_A, CB_SELECTSTRING, (WPARAM)(-1),
(LPARAM)((LPSTR)szWaveform[sWaveA.wWaveform]));
SendDlgItemMessage(hDlg, IDC_WAVE_B, CB_SELECTSTRING,
(WPARAM)(-1), (LPARAM)((LPSTR)szWaveform[sWaveB.wWaveform]));
// Initialize Magnitude
sprintf(szBuffer, "%6.2f", sWaveA.fMagnitude);
SendDlgItemMessage(hDlg, IDC_MAGNITUDE_A, EM_REPLACESEL, 0,
(LPARAM)((LPSTR)szBuffer));
sprintf(szBuffer, "%6.2f", sWaveB.fMagnitude);
SendDlgItemMessage(hDlg, IDC_MAGNITUDE_B, EM_REPLACESEL, 0,
(LPARAM)((LPSTR)szBuffer));
// Initialize Offset
sprintf(szBuffer, "%6.2f", sWaveA.fOffset);
SendDlgItemMessage(hDlg, IDC_OFFSET_A, EM_REPLACESEL, 0,
(LPARAM)((LPSTR)szBuffer));
sprintf(szBuffer, "%6.2f", sWaveB.fOffset);
SendDlgItemMessage(hDlg, IDC_OFFSET_B, EM_REPLACESEL, 0,
(LPARAM)((LPSTR)szBuffer));
// Initialize Period
itoa(sWaveA.wPeriod, szBuffer, 10);
SendDlgItemMessage(hDlg, IDC_PERIOD_A, EM_REPLACESEL, 0,
(LPARAM)((LPSTR)szBuffer));
itoa(sWaveB.wPeriod, szBuffer, 10);
SendDlgItemMessage(hDlg, IDC_PERIOD_B, EM_REPLACESEL, 0,
(LPARAM)((LPSTR)szBuffer));
return TRUE;
case WM_COMMAND :
switch (LOWORD(wParam))
{
case IDOK :
case IDCANCEL :
EndDialog(hDlg, 0);
return TRUE;
case IDC_WAVE_A :
if (HIWORD(wParam) == CBN_KILLFOCUS)
{
i = (int)SendDlgItemMessage(hDlg, IDC_WAVE_A,
CB_GETCURSEL, 0, 0) ;
if (i != CB_ERR)
sWaveA.wWaveform = i;
}
return TRUE;
case IDC_WAVE_B :
if (HIWORD(wParam) == CBN_KILLFOCUS)
{
i = (int)SendDlgItemMessage(hDlg, IDC_WAVE_B,
CB_GETCURSEL, 0, 0) ;
if (i != CB_ERR)
sWaveB.wWaveform = i;
}
return TRUE;
case IDC_MAGNITUDE_A :
if (HIWORD(wParam) == EN_KILLFOCUS)
{
if(SendDlgItemMessage(hDlg, IDC_MAGNITUDE_A,
EM_GETMODIFY, 0, 0))
{
SendDlgItemMessage(hDlg, IDC_MAGNITUDE_A,
WM_GETTEXT, 10, (LPARAM)(LPSTR)szBuffer) ;
sWaveA.fMagnitude = (float)atof(szBuffer);
SendDlgItemMessage(hDlg, IDC_MAGNITUDE_A,
EM_SETMODIFY, FALSE, 0) ;
}
}
return TRUE;
case IDC_MAGNITUDE_B :
if (HIWORD(wParam) == EN_KILLFOCUS)
{
if(SendDlgItemMessage(hDlg, IDC_MAGNITUDE_B,
EM_GETMODIFY, 0, 0))
{
SendDlgItemMessage(hDlg, IDC_MAGNITUDE_B,
WM_GETTEXT, 10, (LPARAM)(LPSTR)szBuffer) ;
sWaveB.fMagnitude = (float)atof(szBuffer);
SendDlgItemMessage(hDlg, IDC_MAGNITUDE_B,
EM_SETMODIFY, FALSE, 0) ;
}
}
return TRUE;
case IDC_OFFSET_A :
if (HIWORD(wParam) == EN_KILLFOCUS)
{
if(SendDlgItemMessage(hDlg, IDC_OFFSET_A,
EM_GETMODIFY, 0, 0))
{
SendDlgItemMessage(hDlg, IDC_OFFSET_A,
WM_GETTEXT, 10, (LPARAM)(LPSTR)szBuffer) ;
sWaveA.fOffset = (float)atof(szBuffer);
SendDlgItemMessage(hDlg, IDC_OFFSET_A,
EM_SETMODIFY, FALSE, 0) ;
}
}
return TRUE;
case IDC_OFFSET_B :
if (HIWORD(wParam) == EN_KILLFOCUS)
{
if(SendDlgItemMessage(hDlg, IDC_OFFSET_B,
EM_GETMODIFY, 0, 0))
{
SendDlgItemMessage(hDlg, IDC_OFFSET_B,
WM_GETTEXT, 10, (LPARAM)(LPSTR)szBuffer) ;
sWaveB.fOffset = (float)atof(szBuffer);
SendDlgItemMessage(hDlg, IDC_OFFSET_B,
EM_SETMODIFY, FALSE, 0) ;
}
}
return TRUE;
case IDC_PERIOD_A :
if (HIWORD(wParam) == EN_KILLFOCUS)
{
if(SendDlgItemMessage(hDlg, IDC_PERIOD_A,
EM_GETMODIFY, 0, 0))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -