SSPC-Tester/Driver/PCIE8586/Samples/VC/Advanced/ADStatusView.cpp

194 lines
4.8 KiB
C++
Raw Normal View History

// ADStatusView.cpp : implementation file
//
#include "stdafx.h"
#include "Sys.h"
#include "ADFrm.h"
#include "ADDoc.h"
#include "ADDigitView.h"
#include "ADWaveView.h"
#include "ADStatusView.h"
#include "ParaCfgView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CADStatusView
IMPLEMENT_DYNCREATE(CADStatusView, CFormView)
CADStatusView::CADStatusView()
: CFormView(CADStatusView::IDD)
{
//{{AFX_DATA_INIT(CADStatusView)
//}}AFX_DATA_INIT
// bFirstChangeTrigge=TRUE; // <20><>ijЩ<C4B3><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>׼<EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD>CEdit<69><74>
}
CADStatusView::~CADStatusView()
{
}
void CADStatusView::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CADStatusView)
DDX_Control(pDX, IDC_Combo_ScreenVolume, m_nScreenVolume);
DDX_Control(pDX, IDC_Combo_MoveVolt, m_nMoveVolt);
DDX_Control(pDX, IDC_EDIT_AnalyzeCount, m_nAnalyzeCount);
DDX_Control(pDX, IDC_EDIT_OverRange, m_nOverRange);
DDX_Control(pDX, IDC_EDIT_OverRatio, m_nOverRatio);
DDX_Control(pDX, IDC_EDIT_TriggerVolt, m_nTringgerVolt);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CADStatusView, CFormView)
//{{AFX_MSG_MAP(CADStatusView)
ON_EN_CHANGE(IDC_EDIT_TriggerVolt, OnChangeEDITTriggerVolt)
ON_BN_CLICKED(IDM_GraphicShow, OnGraphicShow)
ON_BN_CLICKED(IDM_DigitalShow, OnDigitalShow)
ON_BN_CLICKED(IDM_DataSave, OnDataSave)
ON_CBN_SELCHANGE(IDC_Combo_ScreenVolume, OnSelchangeComboScreenVolume)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CADStatusView diagnostics
#ifdef _DEBUG
void CADStatusView::AssertValid() const
{
CFormView::AssertValid();
}
void CADStatusView::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CADStatusView message handlers
void CADStatusView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
CString str;
// TODO: Add your specialized code here and/or call the base class
str.Format(_T("%d"), gl_ScreenVolume);
str.Format(_T("%d"), m_TriggerVolt);
m_nTringgerVolt.SetWindowText(str);
m_nScreenVolume.SetCurSel(12);
// gl_ScreenVolume = 10000;
m_nMoveVolt.SetWindowText(_T("0"));
m_nAnalyzeCount.SetWindowText(_T("0"));
m_nOverRange.SetWindowText(_T("0"));//Ҫ<><D2AA><EFBFBD>ص<EFBFBD>
m_nOverRatio.SetWindowText(_T("0"));//Ҫ<><D2AA><EFBFBD>ص<EFBFBD>
if(gl_bTileWave)
{
CButton* pButtonTile = (CButton*)GetDlgItem(IDM_TileWave);
pButtonTile->SetCheck(1);
}
else
{
CButton* pButtonPose = (CButton*)GetDlgItem(IDM_SuperPoseWave);
pButtonPose->SetCheck(1);
}
SetDlgCheck();
}
void CADStatusView::OnChangeEDITTriggerVolt() //<2F>ı<C4B1><E4B4A5><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9>ֵ
{
// TODO: Add your control notification handler code here
CString str;
m_nTringgerVolt.GetWindowText(str);
m_TriggerVolt=_tcstol(str,NULL,10);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD>ƽʱ<C6BD><CAB1><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_OverLimitCount=0;
m_AnalyzeAllCount=0;
}
void CADStatusView::SetDlgCheck()
{
CButton* pCheck = (CButton*)GetDlgItem(IDM_DigitalShow);
pCheck->SetCheck(nProcessMode == DATA_MODE ? BST_CHECKED:BST_UNCHECKED);
pCheck->EnableWindow(m_bFirstCreateDeviceFile);
pCheck=(CButton*)GetDlgItem(IDM_GraphicShow);
pCheck->SetCheck(nProcessMode == WAVE_MODE ? BST_CHECKED:BST_UNCHECKED);
pCheck->EnableWindow(m_bFirstCreateDeviceFile);
pCheck=(CButton*)GetDlgItem(IDM_DataSave);
pCheck->SetCheck(nProcessMode == SAVE_MODE ? BST_CHECKED:BST_UNCHECKED);
pCheck->EnableWindow(!m_bFirstCreateDeviceFile);
}
void CADStatusView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint)
{
// TODO: Add your specialized code here and/or call the base class
// if(lHint==1||lHint==2) return;
CView::OnUpdate(pSender, lHint, pHint);
}
void CADStatusView::OnDigitalShow()
{//<2F><><EFBFBD>ַ<EFBFBD>ʽ<EFBFBD><CABD>ʾ
// TODO: Add your control notification handler code here
nProcessMode = DATA_MODE;
SetDlgCheck();
}
void CADStatusView::OnGraphicShow()
{//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ʽ
// TODO: Add your control notification handler code here
nProcessMode = WAVE_MODE;
SetDlgCheck();
}
void CADStatusView::OnDataSave()
{//<2F><><EFBFBD>̷<EFBFBD>ʽ<EFBFBD><CABD>ʾ
// TODO: Add your control notification handler code here
nProcessMode = SAVE_MODE;
SetDlgCheck();
}
void CADStatusView::OnSelchangeComboScreenVolume()
{
// TODO: Add your control notification handler code here
CSysApp *pApp=(CSysApp *)AfxGetApp();
CADDoc* pDoc=pApp->m_pADDoc;
CString str;
m_nScreenVolume.GetWindowText(str);
gl_ScreenVolume=_tcstol(str,NULL,10);
CADWaveView* pWaveView=(CADWaveView*)(CWnd::FromHandle(pDoc->m_hWndWave));
if (!gl_bDeviceADRun)
{
pWaveView->OnDrawPolyLine(gl_nDocDrawLen,gl_nDocDrawIdx);
}
if(pWaveView->m_ADScopeCtrl.m_bAllChannel == FALSE) //<2F><>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>ʾʱ<CABE><CAB1><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD>ѹ
{
pWaveView->m_ADScopeCtrl.SetRange(-gl_ScreenVolume/2.0, gl_ScreenVolume/2.0, pWaveView->m_ADScopeCtrl.m_nChannelNum);
}
}