📄 cdaddma.c
字号:
gwCondList = 0;
EnableWindow(GetDlgItem(hDlg, IDC_CBALLCOND), TRUE);
EnableWindow(GetDlgItem(hDlg, IDC_CONDLIST), FALSE);
break;
case IDC_INDCOND :
gwCondList = 1;
EnableWindow(GetDlgItem(hDlg, IDC_CBALLCOND), FALSE);
EnableWindow(GetDlgItem(hDlg, IDC_CONDLIST), TRUE);
break;
case IDC_CBALLCOND :
if (HIWORD(wParam) == CBN_KILLFOCUS)
{
i = (int)SendDlgItemMessage(hDlg, IDC_CBALLCOND,
CB_GETCURSEL, 0, 0) ;
if (i != CB_ERR)
gwCondition = i;
}
return TRUE;
case IDC_ALLLEVEL :
gwLevelList = 0;
EnableWindow(GetDlgItem(hDlg, IDC_ALLHIGH), TRUE);
EnableWindow(GetDlgItem(hDlg, IDC_ALLLOW), TRUE);
EnableWindow(GetDlgItem(hDlg, IDC_LEVELLIST), FALSE);
break;
case IDC_INDLEVEL :
gwLevelList = 1;
EnableWindow(GetDlgItem(hDlg, IDC_ALLHIGH), FALSE);
EnableWindow(GetDlgItem(hDlg, IDC_ALLLOW), FALSE);
EnableWindow(GetDlgItem(hDlg, IDC_LEVELLIST), TRUE);
break;
case IDC_ALLHIGH :
if (HIWORD(wParam) == EN_KILLFOCUS)
{
if(SendDlgItemMessage(hDlg, IDC_ALLHIGH,
EM_GETMODIFY, 0, 0))
{
SendDlgItemMessage(hDlg, IDC_ALLHIGH,
WM_GETTEXT, 10, (LPARAM)(LPSTR)szBuffer) ;
fHiLevel = (float)atof(szBuffer);
SendDlgItemMessage(hDlg, IDC_ALLHIGH,
EM_SETMODIFY, FALSE, 0) ;
}
}
return TRUE;
case IDC_ALLLOW :
if (HIWORD(wParam) == EN_KILLFOCUS)
{
if(SendDlgItemMessage(hDlg, IDC_ALLLOW,
EM_GETMODIFY, 0, 0))
{
SendDlgItemMessage(hDlg, IDC_ALLLOW,
WM_GETTEXT, 10, (LPARAM)(LPSTR)szBuffer) ;
fLoLevel = (float)atof(szBuffer);
SendDlgItemMessage(hDlg, IDC_ALLLOW,
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_DATAUSHORT :
gwDataType = 0;
break;
case IDC_DATAFLOAT :
gwDataType = 1;
break;
case IDC_EVTENABLE :
gwEvtFlag = 1;
break;
case IDC_EVTDISABLE :
gwEvtFlag = 0;
break;
case IDC_BUFSINGLE :
gwBufferMode = 0;
break;
case IDC_BUFDOUBLE :
gwBufferMode = 1;
break;
}
break;
}
return FALSE ;
}
/***************************************************************************
FUNCTION: ShowDataDlgProc(HWND, unsigned, WPARAM, LPARAM)
PURPOSE: Processes dialog box messages for acquired data
****************************************************************************/
BOOL FTYPE ShowDataDlgProc(hDlg, message, wParam, lParam)
HWND hDlg; /* window handle */
unsigned message; /* type of message */
WPARAM wParam; /* additional information */
LPARAM lParam; /* additional information */
{
ULONG i;
LPVOID temp;
switch (message)
{
case WM_INITDIALOG :
if (gwDataType == 0)
temp = (USHORT far *)hUserA;
else
temp = (FLOAT far *)hUserA;
for(i = gdwStartPt; i <= gdwStopPt; ++i)
{
if (gwDataType == 0)
sprintf(szBuffer, "BufA[%ld] = %4x",i, ((USHORT far *)temp)[i]);
else
sprintf(szBuffer, "BufA[%ld] = %10.6f", i, ((FLOAT far *)temp)[i]);
if(SendDlgItemMessage(hDlg, IDC_DATALIST, LB_ADDSTRING, 0,
(LPARAM)(LPSTR)szBuffer) == LB_ERRSPACE)
{ MessageBox(hWnd,(LPCSTR)"Not Enough Memory",
"Display Data",MB_OK);
return TRUE;
}
}
if (gwDataType == 0)
temp = (USHORT far *)hUserB;
else
temp = (FLOAT far *)hUserB;
for(i = gdwStartPt; i <= gdwStopPt; ++i)
{
if (gwDataType == 0)
sprintf(szBuffer, "BufB[%ld] = %4x",i, ((USHORT far *)temp)[i]);
else
sprintf(szBuffer, "BufB[%ld] = %10.6f", i, ((FLOAT far *)temp)[i]);
if(SendDlgItemMessage(hDlg, IDC_DATALIST, LB_ADDSTRING, 0,
(LPARAM)(LPSTR)szBuffer) == LB_ERRSPACE)
{ MessageBox(hWnd,(LPCSTR)"Not Enough Memory",
"Display Data",MB_OK);
return TRUE;
}
}
return TRUE;
case WM_COMMAND :
switch (LOWORD(wParam))
{
case IDOK :
case IDCANCEL :
EndDialog(hDlg, 0);
return TRUE;
}
break;
}
return FALSE ;
}
/***************************************************************************
FUNCTION: DisplayDlgProc(HWND, unsigned, WPARAM, LPARAM)
PURPOSE: Processes dialog box messages for display range
****************************************************************************/
BOOL FTYPE DisplayDlgProc(hDlg, message, wParam, lParam)
HWND hDlg; /* window handle */
unsigned message; /* type of message */
WPARAM wParam; /* additional information */
LPARAM lParam; /* additional information */
{
switch (message)
{
case WM_INITDIALOG :
// Initialize Start Point
ultoa(gdwStartPt, szBuffer, 10);
SendDlgItemMessage(hDlg, IDC_ESTAPT, EM_REPLACESEL, 0,
(LPARAM)((LPSTR)szBuffer));
// Initialize Stop Point
ultoa(gdwStopPt, szBuffer, 10);
SendDlgItemMessage(hDlg, IDC_ESTOPT, 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_ESTAPT :
if (HIWORD(wParam) == EN_KILLFOCUS)
{
if(SendDlgItemMessage(hDlg, IDC_ESTAPT,
EM_GETMODIFY, 0, 0))
{
SendDlgItemMessage(hDlg, IDC_ESTAPT,
WM_GETTEXT, 10, (LPARAM)(LPSTR)szBuffer) ;
gdwStartPt = (ULONG)atol(szBuffer);
SendDlgItemMessage(hDlg, IDC_ESTAPT,
EM_SETMODIFY, FALSE, 0) ;
}
}
return TRUE;
case IDC_ESTOPT :
if (HIWORD(wParam) == EN_KILLFOCUS)
{
if(SendDlgItemMessage(hDlg, IDC_ESTOPT,
EM_GETMODIFY, 0, 0))
{
SendDlgItemMessage(hDlg, IDC_ESTOPT,
WM_GETTEXT, 10, (LPARAM)(LPSTR)szBuffer) ;
gdwStopPt = (ULONG)atol(szBuffer);
SendDlgItemMessage(hDlg, IDC_ESTOPT,
EM_SETMODIFY, FALSE, 0) ;
}
}
return TRUE;
}
break;
}
return FALSE ;
}
/***************************************************************************
FUNCTION: MainWndProc(HWND, unsigned, WPARAM, LPARAM)
PURPOSE: Processes messages
MESSAGES:
WM_CREATE - create window
WM_COMMAND - application menu (About dialog box)
WM_DESTROY - destroy window
****************************************************************************/
long FTYPE MainWndProc(hWnd, message, wParam, lParam)
HWND hWnd; /* window handle */
unsigned message; /* type of message */
WPARAM wParam; /* additional information */
LPARAM lParam; /* additional information */
{
int dec, sign, i;
TEXTMETRIC tm;
HDC hdc;
static int cxChar, cyChar;
double ratio;
DWORD dwExitCode;
BOOL bThreadStatus;
USHORT temp;
switch (message)
{
case WM_CREATE:
hInstance = ((LPCREATESTRUCT) lParam)->hInstance ;
lpfnConfigDlgProc = MakeProcInstance (ConfigDlgProc, hInstance) ;
lpfnShowDataDlgProc = MakeProcInstance (ShowDataDlgProc, hInstance) ;
lpfnDisplayDlgProc = MakeProcInstance (DisplayDlgProc, hInstance) ;
lpfnGainListDlgProc = MakeProcInstance (GainListDlgProc, hInstance) ;
lpfnCondListDlgProc = MakeProcInstance (CondListDlgProc, hInstance) ;
lpfnLevelListDlgProc = MakeProcInstance (LevelListDlgProc, hInstance) ;
hdc = GetDC(hWnd);
SelectObject(hdc, GetStockObject(SYSTEM_FIXED_FONT));
GetTextMetrics(hdc, &tm);
cxChar = tm.tmAveCharWidth;
cyChar = tm.tmHeight + tm.tmExternalLeading;
ReleaseDC(hWnd, hdc);
//Create stop button and status button
hwndStopButton = CreateWindow("button", "Stop",
(DWORD)(WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON),
0, 0, 8*cxChar, 3*cyChar/2, hWnd,
(HMENU)IDC_STOPBUTTON,
(HANDLE)hInstance, (LPVOID)NULL);
hwndStatusButton = CreateWindow("button", "Status",
(DWORD)(WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON),
8*cxChar, 0, 8*cxChar, 3*cyChar/2, hWnd,
(HMENU)IDC_STATUSBUTTON,
(HANDLE)hInstance, (LPVOID)NULL);
EnableWindow(hwndStopButton, FALSE);
EnableWindow(hwndStatusButton, FALSE);
return 0 ;
case WM_COMMAND: /* message: from application menu */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -