📄 addmabm.c
字号:
break;
case IDC_TERMINATE:
if(IsDlgButtonChecked(hDlg, IDC_TERMINATE))
{
bTerminate = 1;
}
else
{
bTerminate = 0;
}
break;
case IDC_OVERRUN:
if(IsDlgButtonChecked(hDlg, IDC_OVERRUN))
bOverrun = 1;
else
bOverrun = 0;
break;
case IDC_EnableEvent:
if(IsDlgButtonChecked(hDlg, IDC_EnableEvent))
gwEvtFlag = 1;
else
gwEvtFlag = 0;
break;
case IDC_INTERRUPT:
if(IsDlgButtonChecked(hDlg, IDC_INTERRUPT))
{
bInterrupt = 1;
EnableWindow(GetDlgItem(hDlg, IDC_EVENTCOUNT), TRUE);
}
else
{
bInterrupt = 0;
EnableWindow(GetDlgItem(hDlg, IDC_EVENTCOUNT), FALSE);
}
break;
case IDC_EVENTCOUNT:
if (HIWORD(wParam) == EN_KILLFOCUS)
{
if(SendDlgItemMessage(hDlg, IDC_EVENTCOUNT,
EM_GETMODIFY, 0, 0))
{
SendDlgItemMessage(hDlg, IDC_EVENTCOUNT,
WM_GETTEXT, 10, (LPARAM)(LPSTR)szBuffer);
if ( atol(szBuffer)<=0 || atol(szBuffer)>=32 )
{
MessageBox(hWnd,"Invalid event count.", "Check Status", MB_OK);
break;
}
gulEventCount = (ULONG)atol(szBuffer);
SendDlgItemMessage(hDlg, IDC_EVENTCOUNT,
EM_SETMODIFY, FALSE, 0) ;
}
}
break;
case IDC_OVERRUNTIME:
if (HIWORD(wParam) == EN_KILLFOCUS)
{
if(SendDlgItemMessage(hDlg, IDC_OVERRUNTIME,
EM_GETMODIFY, 0, 0))
{
SendDlgItemMessage(hDlg, IDC_OVERRUNTIME,
WM_GETTEXT, 10, (LPARAM)(LPSTR)szBuffer) ;
gulOverrunTime = (ULONG)atol(szBuffer);
SendDlgItemMessage(hDlg, IDC_OVERRUNTIME,
EM_SETMODIFY, FALSE, 0) ;
}
}
break;
case IDC_DELAYCNT:
if (HIWORD(wParam) == EN_KILLFOCUS)
{
if(SendDlgItemMessage(hDlg, IDC_DELAYCNT,
EM_GETMODIFY, 0, 0))
{
SendDlgItemMessage(hDlg, IDC_DELAYCNT,
WM_GETTEXT, 10, (LPARAM)(LPSTR)szBuffer) ;
gwDelayCnt = (ULONG)atol(szBuffer);
SendDlgItemMessage(hDlg, IDC_DELAYCNT,
EM_SETMODIFY, FALSE, 0) ;
}
}
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 */
{
static LONG lEndDisplay, lStartDisplay;
LONG i;
LPVOID temp;
HCURSOR hCursor;
if (gwDataType == 0)
temp = (USHORT far *)ptFAITransfer.DataBuffer;
else
temp = (FLOAT far *)ptFAITransfer.DataBuffer;
switch (message)
{
case WM_INITDIALOG :
{
if(gulConvNum > 4095)
lEndDisplay = 4095;
else
lEndDisplay = gulConvNum-1;
lStartDisplay = gdwStartPt;
ultoa(lStartDisplay, szBuffer, 10);
SetWindowText(GetDlgItem(hDlg,IDC_FROM),(LPCTSTR)szBuffer);
ultoa(lEndDisplay, szBuffer, 10);
SetWindowText(GetDlgItem(hDlg,IDC_TO),(LPCTSTR)szBuffer);
ultoa(gulConvNum, szBuffer, 10);
SetWindowText(GetDlgItem(hDlg,IDC_TOTAL),(LPCTSTR)szBuffer);
for(i = lStartDisplay; i <= lEndDisplay; ++i)
{
if (gwDataType == 0)
sprintf(szBuffer, "Buf[%ld] = %4x",i, ((USHORT far *)temp)[i]);
else
sprintf(szBuffer, "Buf[%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(gulConvNum<4095)
{
EnableWindow(GetDlgItem(hDlg,IDC_BACKWARD), FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_BACKBUTTON), FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_FORWARD), FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_FORWARDBUTTON), FALSE);
}
else
{
EnableWindow(GetDlgItem(hDlg,IDC_BACKWARD), FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_BACKBUTTON), FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_FORWARD), TRUE);
EnableWindow(GetDlgItem(hDlg,IDC_FORWARDBUTTON), TRUE);
}
return TRUE;
}
case WM_COMMAND :
switch (LOWORD(wParam))
{
case IDC_BACKBUTTON :
{
hCursor = LoadCursor(NULL,IDC_WAIT);
SetCursor(hCursor);
for(i=0; i<8192; i++)
SendDlgItemMessage(hDlg, IDC_DATALIST, LB_DELETESTRING , 0, (LPARAM)(LPSTR)0);
if(gulConvNum > 4095)
lEndDisplay = 4095;
else
lEndDisplay = gulConvNum-1;
lStartDisplay = gdwStartPt;
ultoa(lStartDisplay, szBuffer, 10);
SetWindowText(GetDlgItem(hDlg,IDC_FROM),(LPCTSTR)szBuffer);
ultoa(lEndDisplay, szBuffer, 10);
SetWindowText(GetDlgItem(hDlg,IDC_TO),(LPCTSTR)szBuffer);
for(i = lStartDisplay; i <= lEndDisplay; ++i)
{
if (gwDataType == 0)
sprintf(szBuffer, "Buf[%ld] = %4x",i, ((USHORT far *)temp)[i]);
else
sprintf(szBuffer, "Buf[%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(gulConvNum<4095)
{
EnableWindow(GetDlgItem(hDlg,IDC_BACKWARD), FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_BACKBUTTON), FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_FORWARD), FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_FORWARDBUTTON), FALSE);
}
else
{
EnableWindow(GetDlgItem(hDlg,IDC_BACKWARD), FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_BACKBUTTON), FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_FORWARD), TRUE);
EnableWindow(GetDlgItem(hDlg,IDC_FORWARDBUTTON), TRUE);
}
hCursor = LoadCursor(NULL, IDC_ARROW);
SetCursor(hCursor);
break;
}
case IDC_BACKWARD :
{
hCursor = LoadCursor(NULL,IDC_WAIT);
SetCursor(hCursor);
for(i=0; i<8192; i++)
SendDlgItemMessage(hDlg, IDC_DATALIST, LB_DELETESTRING , 0, (LPARAM)(LPSTR)0);
lEndDisplay -= 4096;
lStartDisplay -= 4096;
if(lStartDisplay < 0)
{
lStartDisplay = 0;
lEndDisplay = 4095;
}
ultoa(lStartDisplay, szBuffer, 10);
SetWindowText(GetDlgItem(hDlg,IDC_FROM),(LPCTSTR)szBuffer);
ultoa(lEndDisplay, szBuffer, 10);
SetWindowText(GetDlgItem(hDlg,IDC_TO),(LPCTSTR)szBuffer);
for(i = lStartDisplay; i <= lEndDisplay; ++i)
{
if (gwDataType == 0)
sprintf(szBuffer, "Buf[%ld] = %4x",i, ((USHORT far *)temp)[i]);
else
sprintf(szBuffer, "Buf[%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(lStartDisplay == 0)
{
EnableWindow(GetDlgItem(hDlg,IDC_BACKWARD), FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_BACKBUTTON), FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_FORWARD), TRUE);
EnableWindow(GetDlgItem(hDlg,IDC_FORWARDBUTTON), TRUE);
}
else
{
EnableWindow(GetDlgItem(hDlg,IDC_BACKWARD), TRUE);
EnableWindow(GetDlgItem(hDlg,IDC_BACKBUTTON), TRUE);
EnableWindow(GetDlgItem(hDlg,IDC_FORWARD), TRUE);
EnableWindow(GetDlgItem(hDlg,IDC_FORWARDBUTTON), TRUE);
}
hCursor = LoadCursor(NULL, IDC_ARROW);
SetCursor(hCursor);
break;
}
case IDC_FORWARD :
{
hCursor = LoadCursor(NULL, IDC_WAIT);
SetCursor(hCursor);
for(i=0; i<8192; i++)
SendDlgItemMessage(hDlg, IDC_DATALIST, LB_DELETESTRING , 0, (LPARAM)(LPSTR)0);
lEndDisplay += 4096;
lStartDisplay += 4096;
if(lEndDisplay > (LONG)gulConvNum)
lEndDisplay = gulConvNum-1;
if(lStartDisplay < 0)
lStartDisplay = 0;
ultoa(lStartDisplay, szBuffer, 10);
SetWindowText(GetDlgItem(hDlg,IDC_FROM),(LPCTSTR)szBuffer);
ultoa(lEndDisplay, szBuffer, 10);
SetWindowText(GetDlgItem(hDlg,IDC_TO),(LPCTSTR)szBuffer);
for(i = lStartDisplay; i <= lEndDisplay; ++i)
{
if (gwDataType == 0)
sprintf(szBuffer, "Buf[%ld] = %4x",i, ((USHORT far *)temp)[i]);
else
sprintf(szBuffer, "Buf[%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(lEndDisplay == (LONG)gulConvNum-1)
{
EnableWindow(GetDlgItem(hDlg,IDC_BACKWARD), TRUE);
EnableWindow(GetDlgItem(hDlg,IDC_BACKBUTTON), TRUE);
EnableWindow(GetDlgItem(hDlg,IDC_FORWARD), FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_FORWARDBUTTON), FALSE);
}
else
{
EnableWindow(GetDlgItem(hDlg,IDC_BACKWARD), TRUE);
EnableWindow(GetDlgItem(hDlg,IDC_BACKBUTTON), TRUE);
EnableWindow(GetDlgItem(hDlg,IDC_FORWARD), TRUE);
EnableWindow(GetDlgItem(hDlg,IDC_FORWARDBUTTON), TRUE);
}
hCursor = LoadCursor(NULL,IDC_ARROW);
SetCursor(hCursor);
break;
}
case IDC_FORWARDBUTTON :
{
hCursor = LoadCursor(NULL, IDC_WAIT);
SetCursor(hCursor);
for(i=0; i<8192; i++)
SendDlgItemMessage(hDlg, IDC_DATALIST, LB_DELETESTRING , 0, (LPARAM)(LPSTR)0);
lEndDisplay = gulConvNum-1;
lStartDisplay = ((gulConvNum/4095)-1)*4095;
ultoa(lStartDisplay, szBuffer, 10);
SetWindowText(GetDlgItem(hDlg,IDC_FROM),(LPCTSTR)szBuffer);
ultoa(lEndDisplay, szBuffer, 10);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -