⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dadma.c

📁 研华da采集例程
💻 C
📖 第 1 页 / 共 4 页
字号:
                                   (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 + -