📄 realevview.cpp
字号:
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 + -