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

📄 sys.cpp

📁 AD 数据采集卡基本的采集界面
💻 CPP
📖 第 1 页 / 共 2 页
字号:
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

// App command to run the dialog
void CSysApp::OnAppAbout()
{
	CAboutDlg aboutDlg;
	aboutDlg.DoModal();
}

/////////////////////////////////////////////////////////////////////////////
// CSysApp message handlers



void CSysApp::OnUpdateOpenAD(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	pCmdUI->Enable(this->m_bCreateADFrm==FALSE?1:0);
}

void CSysApp::OnOpenAD(void)
{
	BeginWaitCursor();  // 开始漏斗鼠标
	CDocument* pDoc;	
	pDoc=pADTemplate->CreateNewDocument();  // 创建新文档
	m_pADDoc=(CADDoc*)pDoc;  // 保存文档对象
	// 创建该文档对象的子帧窗口
	
	m_ADFrame=(CADFrame*)pADTemplate->CreateNewFrame(pDoc, NULL);
	// 设置默认的文档标题
	// 创建文档实例
	// 初始化FRAME子帧窗口,且触发FRAME的OnUpdate函数
	pADTemplate->InitialUpdateFrame(m_ADFrame, pDoc);	
	pDoc->SetTitle("AD数采测试");

	pDoc->AddView ((CView*)pADStatusView);
	pDoc->AddView((CView*)pParaCfgView);

	EndWaitCursor(); // 停止漏斗鼠标
	m_bCreateADFrm=TRUE;
}

void CSysApp::OnHistoryData() 
{
	// TODO: Add your command handler code here
	CString strNewFileName;	
	// 弹出文件对话框
	if (!(DoPromptFileName(strNewFileName, IDS_ProccessHistoryData,
		OFN_HIDEREADONLY , TRUE, NULL))) // OFN_CREATEPROMPT:当文件不存在时,是否要求新建
		return;
	
	CFile file;
	CFileStatus status;
	if (!file.GetStatus(strNewFileName, status))
	{
		strNewFileName=strNewFileName+" 不存在!";
		AfxMessageBox(strNewFileName,MB_ICONSTOP, 0);
		return;  // 如果文件不存
	}
	
	CFile File;
	FILE_HEADER m_Header;
	File.Open(strNewFileName, PCI2006_modeRead);
	File.Seek(0,CFile::begin);
	File.Read((WORD*)&m_Header,sizeof(m_Header));  // 文件信息由HistDigitView类将其置在HistDataFrm的对话框条上OnInitialUpdate
	File.Close();
	if(m_Header.DeviceID !=0x2006) 
	{
		AfxMessageBox("对不起,该文件不属于阿尔泰科贸公司的数据文件",MB_ICONSTOP, 0);
		return;
	}

	CHistDataDoc* pDoc;	
	BeginWaitCursor();  // 开始漏斗鼠标
	pDoc=(CHistDataDoc*)pHistDataTemplate->OpenDocumentFile(strNewFileName);  // 先传递文件名到pDoc的消息函数OnOpenDocument

	EndWaitCursor(); // 停止漏斗鼠标
	
	
}

void CSysApp::OnUpdateHistoryData(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here	
}

int CSysApp::ExitInstance() 
{
	// TODO: Add your specialized code here and/or call the base class
	ReleaseMutex(m_hMutex);

	if(m_hDevice!=INVALID_HANDLE_VALUE) PCI2006_ReleaseDevice(m_hDevice);
	return CWinApp::ExitInstance();
}


void CSysApp::OnOpenIO() 
{
	// TODO: Add your command handler code here
	CDIODoc* pDoc;
	BeginWaitCursor();  // 开始漏斗鼠标
	pDoc=(CDIODoc*)pIOTemplate->OpenDocumentFile(NULL);  // 先传递文件名到pDoc的消息函数OnOpenDocument
	pDoc->SetTitle("开关量测试");  // 置文档新标题
	EndWaitCursor(); // 停止漏斗鼠标
	m_bCreateDIOFrm = TRUE;
	
}

void CSysApp::OnUpdateOpenIO(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	pCmdUI->Enable(this->m_bCreateDIOFrm==FALSE?1:0);
}


void CSysApp::OnUpdateCloseFile(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	if((nProcessMode==3)&&(bCreateDevice))
		pCmdUI->Enable(FALSE);
	else
		pCmdUI->Enable(!m_bCloseFile);
	
}

void CSysApp::OnUpdateDataFileNew(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	pCmdUI->Enable(!bCreateDevice&&m_bFirstCreateDeviceFile);
	
}

void CSysApp::OnUpdateListDevice(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here	
}


void CSysApp::OnCloseFile() 
{
	// TODO: Add your command handler code here
	m_pADDoc->OnCloseFile();
}



void CSysApp::OnDataFileNew() 
{
	// TODO: Add your command handler code here
	m_pADDoc->OnDataFileNew();
}

void CSysApp::OnListDevice() 
{
	// TODO: Add your command handler code here
	m_pADDoc->OnListDevice();	
}

void CSysApp::OnDataSave() 
{
	// TODO: Add your command handler code here
	nProcessMode=3;
	pADStatusView->SetDlgCheck();	
}

void CSysApp::OnUpdateDataSave(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	if(m_bFirstCreateDeviceFile)
		pCmdUI->Enable(FALSE);	
	pCmdUI->SetCheck(nProcessMode==3? 1:0);
}

void CSysApp::OnDigitalShow() 
{
	// TODO: Add your command handler code here
	nProcessMode=1;
	pADStatusView->SetDlgCheck();	
}

void CSysApp::OnUpdateDigitalShow(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	pCmdUI->SetCheck(nProcessMode==1?1:0);

    CSysApp *pApp=(CSysApp *)AfxGetApp();
    CADDoc* pDoc=pApp->m_pADDoc; 
    // 在线程中取得视图指针
    CADDigitView* pDigitView=(CADDigitView*)(CWnd::FromHandle(pDoc->m_hWndDigit)); 
	if(nProcessMode==3) // 如果为存盘方式
	{
		pDigitView->EnableWindow(FALSE);
	}
	else
	{
		pDigitView->EnableWindow(TRUE);
	}	
}

void CSysApp::OnGraphicShow() 
{
	// TODO: Add your command handler code here
	nProcessMode=2;
	pADStatusView->SetDlgCheck();	
}

void CSysApp::OnUpdateGraphicShow(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	pCmdUI->SetCheck(nProcessMode==2?1:0);
	CSysApp *pApp=(CSysApp *)AfxGetApp();
    CADDoc* pDoc=pApp->m_pADDoc; 
    // 在线程中取得视图指针

    CADWaveView* pWaveView=(CADWaveView*)(CWnd::FromHandle(pDoc->m_hWndWave)); 
	
	if(nProcessMode==3) // 如果为存盘方式
	{
		pWaveView->EnableWindow(FALSE);
	}
	else
	{
		pWaveView->EnableWindow(TRUE);
	}		
}

void CSysApp::OnOpenDA() 
{
	// TODO: Add your command handler code here
	CDADoc* pDoc;
	BeginWaitCursor();  // 开始漏斗鼠标
	pDoc=(CDADoc*)pDATemplate->OpenDocumentFile(NULL);  // 先传递文件名到pDoc的消息函数OnOpenDocument
	pDoc->SetTitle("DA输出测试");  // 置文档新标题
	EndWaitCursor(); // 停止漏斗鼠标
	m_bCreateDAFrm = TRUE;
}

void CSysApp::OnUpdateOpenDA(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	pCmdUI->Enable(this->m_bCreateDAFrm==FALSE?1:0);
}


void CSysApp::OnStartDeviceAD() 
{
	// TODO: Add your command handler code here
	m_pADDoc->StartDeviceAD();
}


void CSysApp::OnUpdateStartDeviceAD(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	pCmdUI->Enable(bDeviceADRun==FALSE?1:0);	
}

void CSysApp::OnStopDeviceAD() 
{
	// TODO: Add your command handler code here
	m_pADDoc->StopDeviceAD();
}

void CSysApp::OnUpdateStopDeviceAD(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	pCmdUI->Enable(bDeviceADRun==TRUE?1:0);		
}




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -