📄 mainfrm.cpp
字号:
//##ModelId=465286A201B5
LRESULT CMainFrame::onStatusChange(WPARAM wParam, LPARAM lParam)
{
//处理告警或消警状态变化
//CEquipmentPort *port = (CEquipmentPort *)wParam;
//CString strSQL,strTable,strTip ; //SQL语句
//_variant_t var;
//_RecordsetPtr pRsPtr ;
//int iResult = 0 ;
//CString sSql;
//CString strSpotSort,strItem;
//int iItem,iSunItem,iValue;
//iValue = 0;
////CAlarmForm *p_Wnd = (CAlarmForm *)this->m_wndSplitter2.GetPane(1,0);
//CAlarmForm *p_Wnd = (CAlarmForm *)this->m_wndSplitter.GetPane(0,1);
//CListCtrl *m_listAlarm = &(p_Wnd->m_listAlarm);
//
//pRsPtr.CreateInstance(__uuidof(Recordset));
///****************************************************************************
// 保存告警信息
//****************************************************************************/
//iSunItem = 1;
//
////LVITEM lvItem;
//
////取得被监测设备资料ID及序号
//
//if(pRsPtr->State == 1 )
// pRsPtr->Close();
//strSQL.Format("Select * From VW_ModulePortNote Where SVMID = %d and SVMPSort = %d",port->MonitorEquID,port->SVMPSort);
//iResult = p_adodb->ReadDB(strSQL,pRsPtr,strTip);
//if (iResult == 0)
//{
// strItem.Format("%d",m_listAlarm->GetItemCount() + 1 );
// if (port->AlarmState == PORT_NORMAL)
// iItem = m_listAlarm->InsertItem(m_listAlarm->GetItemCount() + 1,strItem.GetBuffer(),0);
// else
// iItem = m_listAlarm->InsertItem(m_listAlarm->GetItemCount() + 1,strItem.GetBuffer(),port->AlarmLevel );
// p_adodb->GetFieldValue("SVSpotNote",pRsPtr,strItem);
// if (strItem.GetLength() == 0)
// {
// p_adodb->GetFieldValue("SVMTrueName",pRsPtr,strItem);
// m_listAlarm->SetItemText(iItem,iSunItem++,strItem);
// p_adodb->GetFieldValue("SVMPSort",pRsPtr,iValue);
// strItem.Format("%d",iValue);
// m_listAlarm->SetItemText(iItem,iSunItem++,strItem);
// }
// else
// {
// p_adodb->GetFieldValue("SVDTrueName",pRsPtr,strItem);
// m_listAlarm->SetItemText(iItem,iSunItem++,strItem);
// p_adodb->GetFieldValue("SVSpotNote",pRsPtr,strItem);
// m_listAlarm->SetItemText(iItem,iSunItem++,strItem);
// }
//
// if (port->AlarmState == PORT_NORMAL)
// {
// strItem = _T("销警");
// ::SendMessage(p_Wnd->m_hWnd,WM_STATUS_CHANGE,-1,0);
//
// }
// else
// {
// strItem = _T("告警");
// ::SendMessage(p_Wnd->m_hWnd,WM_STATUS_CHANGE,1,0);
// }
// m_listAlarm->SetItemText(iItem,iSunItem++,strItem);
// strItem = port->tmUpdateTime.Format("%Y-%m-%d %H:%M:%S");
// m_listAlarm->SetItemText(iItem,iSunItem++,strItem);
// //持续秒数
//
// CTimeSpan tmsTime = port->tmUpdateTime - port->tmStartTime;
// long lSeconds = (long) tmsTime.GetTotalSeconds();
// strItem.Format("%d",lSeconds);
// m_listAlarm->SetItemText(iItem,iSunItem++,strItem);
// //告警值
// strItem.Format("%5.0f",port->value);
// m_listAlarm->SetItemText(iItem,iSunItem++,strItem);
// //告警级别
// strItem.Format("%d",port->AlarmLevel);
// m_listAlarm->SetItemText(iItem,iSunItem++,strItem);
// //处理结果
// if (port->AlarmState == PORT_NORMAL)
// {
// strItem = _T("自动销警");
// m_listAlarm->SetItemText(iItem,iSunItem++,strItem);
// }
//}
//pRsPtr->Close();
//
//m_listAlarm->UpdateData(true);
////UpdateData(true);
return LRESULT();
}
//##ModelId=465286A202AF
void CMainFrame::OnShowcontrol()
{
// TODO: 在此添加命令处理程序代码
//CMDFDlg *dlgControl;
//dlgControl = new CMDFDlg(this);
//dlgControl->Create(IDD_MDFMAIN);
//dlgControl->ShowWindow(SW_SHOW);
//theApp.dlgServer->ShowWindow(SW_SHOW);
}
//##ModelId=465286A202B1
void CMainFrame::OnShowmainwin()
{
// TODO: 在此添加命令处理程序代码
ShowWindow(SW_SHOW);
}
//##ModelId=44B6F88500EA
LRESULT CMainFrame::OnShellNotify(WPARAM wParam, LPARAM lParam)
{
BOOL bResult;
if( lParam==WM_LBUTTONDBLCLK )
{
theApp.dlgServer->ShowWindow(SW_SHOW);
theApp.dlgServer->BringWindowToTop();
//BringWindowToTop();
return(0) ;
}
//如果收到的中单击右键信息,根据对剪贴板的监视与否修改不同的菜单项
if(lParam==WM_RBUTTONDOWN)
{
CMenu menu;
menu.LoadMenu(IDR_POPMENU);
if( theApp.m_Baseinfo.MonitorStatus )
{
//启用“开始记录”菜单项
//bResult = menu.EnableMenuItem(ID_STARTCOMM,1 ); //0 使启动菜单有效
//bResult = menu.EnableMenuItem(ID_STOPCOMM,0); //1 使停止菜单无效
bResult = menu.EnableMenuItem(ID_STARTCOMM,MF_BYCOMMAND|MF_DISABLED|MF_GRAYED ); //0 使启动菜单有效
bResult = menu.EnableMenuItem(ID_STOPCOMM,MF_BYCOMMAND|MF_ENABLED); //1 使停止菜单无效
}
else
{
//启用“停止始记录”菜单项
bResult = menu.EnableMenuItem(ID_STARTCOMM,MF_BYCOMMAND|MF_ENABLED);
bResult = menu.EnableMenuItem(ID_STOPCOMM,MF_BYCOMMAND|MF_DISABLED|MF_GRAYED);
}
// 鼠标单击位置
CPoint point;
GetCursorPos(&point);
// 将背景窗口激活
//SetForegroundWindow();
// 显示图标菜单
menu.GetSubMenu(0)->TrackPopupMenu(
TPM_LEFTBUTTON|TPM_RIGHTBUTTON,
point.x, point.y, this, NULL);
return(0) ;
}
return(0);
}
//##ModelId=465286A201C6
void CMainFrame::HideMainWin()
{
CString strTemp;
NOTIFYICONDATA tnd ;
tnd.cbSize = sizeof(NOTIFYICONDATA) ;
tnd.hWnd = m_hWnd;
tnd.uID = IDD_MDFMAIN ;
tnd.uFlags = NIF_MESSAGE|NIF_ICON|NIF_TIP ;
tnd.uCallbackMessage = WM_SHELLNOTIFY ;
tnd.hIcon = ::LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_PLAY)) ;
strTemp.LoadString(IDS_STRAPPTITLLE);
strcpy(tnd.szTip,strTemp) ;
//CString::LoadString(IDS_STRAPPTITLLE);
ShowWindow(SW_HIDE);
Shell_NotifyIcon(NIM_ADD,&tnd) ;
//CloseHandle(tnd.hIcon) ;
}
// 关闭系统服务
//##ModelId=465286A202B3
void CMainFrame::CloseSystem(void)
{
//First stop service just close system
NOTIFYICONDATA tnd ;
tnd.cbSize = sizeof(NOTIFYICONDATA) ;
tnd.hWnd = m_hWnd ;
tnd.uID = IDD_MDFMAIN ;
Shell_NotifyIcon(NIM_DELETE,&tnd) ;
}
//##ModelId=465286A202BF
BOOL CMainFrame::OnWndMsg(UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
// TODO: 在此添加专用代码和/或调用基类
return CFrameWnd::OnWndMsg(message, wParam, lParam, pResult);
}
//##ModelId=465286A202DE
void CMainFrame::OnClose()
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
HideMainWin();
//CFrameWnd::OnClose();
}
//##ModelId=465286A202E0
void CMainFrame::OnExit()
{
CloseSystem();
PostQuitMessage(0);
// TODO: 在此添加命令处理程序代码
}
//##ModelId=465286A202EF
void CMainFrame::OnAppExit()
{
// TODO: 在此添加命令处理程序代码
CloseSystem();
PostQuitMessage(0);
}
//##ModelId=465286A202F1
void CMainFrame::OnStartcomm()
{
theApp.StartMonitoring();
// TODO: 在此添加命令处理程序代码
}
//##ModelId=465286A202F3
void CMainFrame::OnStopcomm()
{
theApp.StopMonitoring();
// TODO: 在此添加命令处理程序代码
}
//##ModelId=465286A20282
LRESULT CMainFrame::onRestart(WPARAM wParam, LPARAM lParam)
{
//Send message to mobile phone
CString strReply;
strReply.Empty();
//strReply = (LPCTSTR)wParam;
//CInfoFrame *frame = (InfoFrame *)wParam ;
theApp.WriteTxtLog("准备停止监测服务器运行...");
Sleep(100);
if (theApp.StopMonitoring())
{
theApp.WriteTxtLog("监测服务器停止运行,正准备重新启动...");
theApp.StartMonitoring();
if (theApp.m_Baseinfo.MonitorStatus) //返回起动信息
{
strReply = "RF|00";
theApp.WriteTxtLog("监测服务器重新起动成功...");
if (theApp.m_pMonitor->m_udpServer[0]->IsOpen())
{
theApp.m_pMonitor->m_udpServer[0]->SendTo(strReply,theApp.m_Baseinfo.WebIP,theApp.m_Baseinfo.WebPort);
}
theApp.WriteTxtLog("远程起动成功...");
}
}
else
{
theApp.WriteTxtLog("监测服务器未能正常停止运行...");
strReply.Replace("00","FF");
if (theApp.m_Baseinfo.MonitorStatus) //返回起动失败
{
strReply = "RF|FF";
//theApp.m_pMonitor->m_udpServer[0]->SendTo(strReply,theApp.m_Baseinfo.WebIP,theApp.m_Baseinfo.WebPort);
}
theApp.WriteTxtLog("远程起动失败...");
}
return LRESULT();
}
//##ModelId=465286A202F5
int CMainFrame::PlayWave(CString strWaveFile)
{
CString strSound;
if (strWaveFile.GetLength() >0)
strSound = strWaveFile;
sndPlaySound(strSound.GetBuffer(),SND_SYNC);
return 0;
}
//##ModelId=465286A202FE
void CMainFrame::OnCmSound()
{
CString strTip;
strTip = "33962181";
theApp.m_pMonitor->IniGsmInfo();
theApp.m_pMonitor->m_Gsm->Dail(strTip);
//theApp.m_pMonitor->m_pMedia.SetVoice(_T("1"),1,m_hWnd);
//theApp.m_pMonitor->m_pMedia.AlarmVoice();
// TODO: 在此添加命令处理程序代码
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -