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

📄 realevview.cpp

📁 电力监控系统 实时告警处理程序
💻 CPP
📖 第 1 页 / 共 3 页
字号:
WPARAM wParm = 111;
ATOM atom = GlobalAddAtom("xxxxasofnas");
::SendMessage(HWND_BROADCAST,nMsgWarn,wParm,(LPARAM)atom);
}
*/
void CRealEvView::OnCheck(WPARAM w,LPARAM p)
{
	int nItem  = w;
	if(nItem <0)return;
	int ord = int(m_lsEvent.GetItemData(nItem));
	m_evtdb.cursor = ord;//改成itemdata
	
//	if(m_evtdb.evt[ord].AffirmF != 0)return;
//	if(m_evtdb.evt_tmp[ord].AffirmF != 0)return;
	bool rtn= m_evtdb.AckEvent();
	if(rtn)	
	{
		m_lsEvent.SetEnabled(nItem,FALSE);
		m_lsEvent.SetCheckbox(nItem,0,1);
	}
	else
		m_lsEvent.SetCheckbox(nItem,0,0);
	m_lsEvent.Invalidate();
}
void CRealEvView::OnCheckAll(WPARAM w,LPARAM p)
{
	bool rtn;
	int nItemCounts = m_lsEvent.GetItemCount();
	DWORD dwItemData;
	int ord ;
	m_evtdb.AckAllEvent();
	for(int i = 0;i< nItemCounts;i++)
	{
		dwItemData = m_lsEvent.GetItemData(i);
		ord = LOWORD(dwItemData);
		
//		if(1 ==  m_evtdb.evt[ord].AffirmF)continue;
//		if(1 ==  m_evtdb.evt_tmp[ord].AffirmF)continue;
		m_evtdb.cursor = ord;
		rtn= m_evtdb.AckEvent();
		if(rtn)	
		{
	    	m_lsEvent.SetCheckbox(i,0,1);
		  	m_lsEvent.SetEnabled(i,FALSE);	
		}
	}
	m_lsEvent.Invalidate();
}

void CRealEvView::OnColor() 
{
	CDlgColor dlg(this,&m_evtdb);
	if(IDOK == dlg.DoModal())
	{
		m_bManulUpdate = 1;
		UpdateWarn();
		m_bManulUpdate = 0;
	}
}


void CRealEvView::OnEvtTypeConfig()
{
	CDlgUser dlg;
	if(dlg.DoModal() ==	IDOK)
	{
		CEvtTypeConfigDlg dlg(this,&m_evtdb);
		if(dlg.DoModal()==	IDOK)
		{
			m_evtdb.WriteSelfEvent(EVT_OPT,MOD,"Real:报警类型设置");
		};
	//	CEvtTypeConfig EvtTypeConfig(this,&m_evtdb);;
		//	EvtTypeConfig.DoModal();
	}
}


void CRealEvView::OnConfirm() 
{
	OnAckAll();	
}

void CRealEvView::OnDisOrd() 
{
	if(m_direct == up)return;
	m_direct = up;
	g_MDrect = 0;
	m_bManulUpdate = 1;
	m_evtdb.SetSave();
	UpdateWarn();
	m_bManulUpdate = 0;
}

void CRealEvView::OnOrd() 
{
	if(m_direct == down)return;
	m_direct = down;
	g_MDrect = 1;
	m_bManulUpdate = 1;
	m_evtdb.SetSave();
	UpdateWarn();
	m_bManulUpdate = 0;
}

void CRealEvView::OnSelectNew() 
{
	if(m_bOnlyNew == 0)m_bOnlyNew=1;
	else m_bOnlyNew = 0;
	m_bManulUpdate = 1;
	m_evtdb.SetSave();
	UpdateWarn();
	m_bManulUpdate = 0;
}

void CRealEvView::OnUpdateSelectNew(CCmdUI* pCmdUI) 
{
	pCmdUI->SetCheck(m_bOnlyNew?1:0);
}
void CRealEvView::OnPrintNewEvent() 
{
	m_bPrint = m_bPrint?0:1;
	m_evtdb.SetSave();
	if(m_bPrint)
	{
		m_evtdb.m_printf=true;
	}
	else
		m_evtdb.m_printf=false;
}

void CRealEvView::OnUpdatePrintNewEvent(CCmdUI* pCmdUI) 
{
	pCmdUI->SetCheck(m_bPrint?1:0);
}

void CRealEvView::OnFilePrint() 
{
	if(m_pPreviewList)
	{
		delete m_pPreviewList;
		m_pPreviewList = NULL;
	}
	m_pPreviewList = new CListCtrlPrint;
	CString str1="YH-5000:",str="实时事件";	
	str=str1+str;
	m_pPreviewList->csPageHead = str;
	
    CTime time=CTime::GetCurrentTime();
	str=time.Format("%c");
	m_pPreviewList->csPageFooter =str;
	m_pPreviewList->csPage = "第 %d 页:共 %d 页"; 	m_pPreviewList->pList = &m_lsEvent;
	m_pPreviewList->OnFilePrint();
}

void CRealEvView::OnFilePrintPreview() 
{
	if ( m_lsEvent.GetItemCount()<=0 )
	{
		MessageBox("没有可供预览的记录!");
		return;
	}
	if(m_pPreviewList)
	{
		delete m_pPreviewList;
		m_pPreviewList = NULL;
	}
	m_pPreviewList = new CListCtrlPrint;
	
	CString str1="YH-5000:",str="实时事件";	
	str=str1+str;
	m_pPreviewList->csPageHead = str;
	
    CTime time=CTime::GetCurrentTime();
	str=time.Format("%c");
	m_pPreviewList->csPageFooter =str;
	m_pPreviewList->csPage = "第 %d 页:共 %d 页"; 
	
	m_pPreviewList->pList=&m_lsEvent;
	m_pPreviewList->PrintPreview();
	
}


void CRealEvView::OnAck()
{
	m_evtdb.AckEvent();
}
void CRealEvView::OnAckAll()
{
	m_evtdb.AckAllEvent();
	m_bManulUpdate = 1;
	UpdateWarn();
	m_bManulUpdate = 0;
}
void CRealEvView::OnBrowse()
{ 
	((CMainFrame*)AfxGetMainWnd())->ShowWindow(SW_MAXIMIZE);	
}
void CRealEvView::OnExit()
{
	::SendMessage(((CMainFrame*)AfxGetMainWnd())->m_hWnd,WM_COMMAND,ID_APP_SUSPEND,0);
}
void CRealEvView::OnHideMsgWnd()
{
//	m_pWndMsg->ShowWindow(SW_HIDE);
}

void CRealEvView::OnShowMsgWnd() 
{
//	if(m_pWndMsg->IsWindowVisible())
	{
//		m_pWndMsg->ShowWindow(SW_HIDE);
	}
//	else
	{
//		m_pWndMsg->ShowWindow(SW_SHOW);
	}
}

void CRealEvView::OnUpdateShowMsgWnd(CCmdUI* pCmdUI) 
{
//	pCmdUI->SetCheck(m_pWndMsg->IsWindowVisible());
}

void CRealEvView::OnShapeRect() 
{
	/*
	if(m_pWndMsg->m_Shape == ELLIPSEWND)
	{
		m_pWndMsg->DestroyWindow();
		if(NULL!=m_pWndMsg)
			delete m_pWndMsg;
		m_pWndMsg = new CMsgWnd;
		m_pWndMsg->m_Shape = RECTWND;
		m_pWndMsg->m_iWidth = 400;
		m_pWndMsg->m_iHeight = 50;
		m_pWndMsg->Create(m_hWnd);
		m_pWndMsg->m_bStuck = true;
		int cx = GetSystemMetrics(SM_CXSCREEN);
		int cy = GetSystemMetrics(SM_CYSCREEN);
		CRect rectCl ;
		m_pWndMsg->GetClientRect(&rectCl);
		rectCl.top = cy -rectCl.bottom;
		rectCl.bottom = cy;
		m_pWndMsg->MoveWindow(&rectCl);
		//	m_pWndMsg->ShowWindow(SW_SHOW);4.16
		m_pWndMsg->ShowWindow(SW_HIDE);

		m_bManulUpdate = 1;
		UpdateWarn();
		m_bManulUpdate = 0;
	}
	*/
}

void CRealEvView::OnShapeEllipse() 
{
	/*
	if(m_pWndMsg->m_Shape == RECTWND)
	{
		m_pWndMsg->DestroyWindow();
		if(NULL!=m_pWndMsg)
			delete m_pWndMsg;
		m_pWndMsg = new CMsgWnd;
		m_pWndMsg->m_Shape = ELLIPSEWND;
		m_pWndMsg->m_iWidth = 200;
		m_pWndMsg->m_iHeight = 100;
		m_pWndMsg->Create(m_hWnd);
		m_pWndMsg->m_bStuck = true;
		int cx = GetSystemMetrics(SM_CXSCREEN);
		int cy = GetSystemMetrics(SM_CYSCREEN);
		CRect rectCl ;
		m_pWndMsg->GetClientRect(&rectCl);
		rectCl.left = cx - rectCl.right;
		rectCl.top = cy -rectCl.bottom-20;
		rectCl.bottom = cy-20;
		rectCl.right = cx;
		m_pWndMsg->MoveWindow(&rectCl);
		//	m_pWndMsg->ShowWindow(SW_SHOW);
		m_pWndMsg->ShowWindow(SW_HIDE);
		m_bManulUpdate = 1;
		UpdateWarn();
		m_bManulUpdate = 0;
	}	
	*/
}
void CRealEvView::OnDbClickMsgWnd(WPARAM w,LPARAM p)
{
	m_evtdb.AckEvent();
//	m_pWndMsg->ShowWindow(SW_HIDE);
}


void CRealEvView::OnVoice() 
{
	m_bVoice = m_bVoice? 0:1;	
	m_evtdb.SetSave();
}

void CRealEvView::OnUpdateVoice(CCmdUI* pCmdUI) 
{
	pCmdUI->SetCheck(m_bVoice?1:0);
}

void CRealEvView::OnUpdateINDICATOR_NAME(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	pCmdUI->Enable(TRUE);
}

void CRealEvView::OnUpdateINDICATOR_NAME1(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	pCmdUI->Enable(TRUE);
}

void CRealEvView::OnAlarmSet() 
{
	CDlgUser dlg;
	if(dlg.DoModal() ==	IDOK)
	{
	// TODO: Add your command handler code here
		CDiaWarnSet dlg(this,&m_evtdb);
		if(dlg.DoModal()==	IDOK)
		{
			m_evtdb.WriteSelfEvent(EVT_OPT,MOD,"Real:报警方式设置");
		};
	}
	
}

void CRealEvView::OnUpdateOrd(CCmdUI* pCmdUI) 
{
	pCmdUI->SetCheck(m_direct?down:up);
}

void CRealEvView::OnUpdateDisOrd(CCmdUI* pCmdUI) 
{
	pCmdUI->SetCheck(m_direct?up:down);
	
}



void CRealEvView::OnPrepareDC(CDC* pDC, CPrintInfo* pInfo) 
{
	
	CFormView::OnPrepareDC(pDC, pInfo);
}

BOOL CRealEvView::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo) 
{
	m_lsEvent.OnCmdMsg(nID, nCode, pExtra, pHandlerInfo);
	
	return CFormView::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo);
}

void CRealEvView::OnUpdateSetOptinfo(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable(true);	
}

void CRealEvView::OnUpdateSetOptshow(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable(true);	
}


void CRealEvView::OnSetHelp() 
{
	CDlgHelp dlg;
	dlg.DoModal();
	
}

void CRealEvView::OnClose() 
{
	LSI_UnRegEvtHwnd(m_hWnd,m_evtdb.m_Evtid);

//	if(m_evtdb.Is_ChgF)
//		AfxMessageBox("要修改设置有效!请退出平台!");

	CFormView::OnClose();
}

LRESULT CRealEvView::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
{
	int rtn;
	scada_event ev;
//	if(message>1300)
	if(message==CMD_TOCLI&&wParam==ADDEVTREC)
	{
		m_EventCS.Lock();     //新事件同步对象
//		m_evtdb.push_evt();
		
		do{
			rtn=LSI_ReadAEvt(m_hWnd,(DWORD)lParam,(char *)&ev);
			if(rtn>=0)
			{   
//				pdr.CheckEvent(ev);
//				g_NewEvents.push_back(ev);
				m_evtdb.push_evt(ev);
			}
		} while(rtn==1);
		
		m_EventCS.Unlock();
		Is_evtnew=true;
	}	
	return CFormView::WindowProc(message, wParam, lParam);
}

⌨️ 快捷键说明

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