📄 netctlpalarmdlg.cpp
字号:
hour=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecTable1[weekno].nEndHour;
minute=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecTable1[weekno].nEndMinute;
CTime time1(2002,10,16,hour,minute,0,0);
m_EndTime1=time1;
hour=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecTable2[weekno].nBgnHour;
minute=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecTable2[weekno].nBgnMinute;
CTime time2(2002,10,16,hour,minute,0,0);
m_BgnTime2=time2;
hour=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecTable2[weekno].nEndHour;
minute=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecTable2[weekno].nEndMinute;
CTime time3(2002,10,16,hour,minute,0,0);
m_EndTime2=time3;
}
if(nSelDay&(1<<weekno))
m_ProbeRec=TRUE;
else
m_ProbeRec=FALSE;
UpdateData(FALSE);
int curSel=m_LstRecPort.GetNextItem(-1,LVNI_SELECTED);
if(curSel==-1)
{
if(m_LstRecPort.GetItemCount()>0)
{
m_LstRecPort.SetItemState(0,LVIS_FOCUSED|LVIS_SELECTED,LVIS_FOCUSED|LVIS_SELECTED);
curSel=0;
}
else
return;
}
m_Preset=m_LstRecPort.GetItemText(curSel,1);
UpdateData(FALSE);
}
else
{
BYTE weekno;
unsigned short Trigger;
UpdateData(TRUE) ;
weekno = m_weekTab.GetCurSel() ;
if(weekno<0)
weekno=0;
pNetRemoteCtlDlg->GetDvrParam(m_ProbeInput+1,weekno+1,PARA_TYPE_ALARM_PROBE,&m_ProbeAlarmParam,sizeof(m_ProbeAlarmParam));
//Trigger=Con_pDVRPara->contactPara[m_ProbeInput].nContactRecPort;
Trigger = m_ProbeAlarmParam.ContactRecChannel;
for(i=0;i<m_LstRecPort.GetItemCount();i++)
{
if(Trigger&(1<<i))
ListView_SetCheckState(m_LstRecPort.m_hWnd,i,TRUE)
else
ListView_SetCheckState(m_LstRecPort.m_hWnd,i,FALSE)
}
//Trigger=Con_pDVRPara->contactPara[m_ProbeInput].nContactAlarmOut;
Trigger = m_ProbeAlarmParam.ContactAlarmOut;
if(Trigger&1)
m_ProbeInput1=TRUE;
else
m_ProbeInput1=FALSE;
if(Trigger&2)
m_ProbeInput2=TRUE;
else
m_ProbeInput2=FALSE;
if(Trigger&4)
m_ProbeInput3=TRUE;
else
m_ProbeInput3=FALSE;
if(Trigger&8)
m_ProbeInput4=TRUE;
else
m_ProbeInput4=FALSE;
// if(Trigger&16)
// m_ProbeInput5=TRUE;
// else
// m_ProbeInput5=FALSE;
// if(Trigger&32)
// m_ProbeInput6=TRUE;
// else
// m_ProbeInput6=FALSE;
// if(Trigger&64)
// m_ProbeInput7=TRUE;
// else
// m_ProbeInput7=FALSE;
// if(Trigger&128)
// m_ProbeInput8=TRUE;
// else
// m_ProbeInput8=FALSE;
//m_ContactRec=Con_pDVRPara->contactPara[m_ProbeInput].nContactAlarmStatus;
m_ContactRec = m_ProbeAlarmParam.IsProbeAlarmRec;
//m_ProbeTime=Con_pDVRPara->contactPara[m_ProbeInput].nContactAlarmTime;
m_ProbeTime = m_ProbeAlarmParam.ProbeAlarmRecTime;
//预置
for(i=0;i<m_LstRecPort.GetItemCount();i++)
{
//if(Con_pDVRPara->contactPara[m_ProbeInput].nPreSetPort[i]==0xFF)
if (m_ProbeAlarmParam.PreSetPort[i] == 0xFF)
m_LstRecPort.SetItemText(i,1,l_None);
else
{
//str.Format("%d",Con_pDVRPara->contactPara[m_ProbeInput].nPreSetPort[i]);
str.Format("%d", m_ProbeAlarmParam.PreSetPort[i]);
m_LstRecPort.SetItemText(i,1,str);
}
}
// BYTE weekno;
BYTE hour,minute;
weekno = m_weekTab.GetCurSel() ;
if(weekno<0)
weekno=0;
//nSelDay=Con_pDVRPara->contactPara[m_ProbeInput].ContactAlarmRecDefendDayTag;
nSelDay = m_ProbeAlarmParam.IsDefend;
if(nSelDay&(1<<7))
nSelDay=1<<7;
//hour=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday1.nBgnHour;
//minute=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday1.nBgnMinute;
hour = m_ProbeAlarmParam.DefendStartHour1;
minute = m_ProbeAlarmParam.DefendStartMinute1;
CTime time(2002,10,16,hour,minute,0,0);
m_BgnTime1=time;
//hour=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday1.nEndHour;
//minute=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday1.nEndMinute;
hour = m_ProbeAlarmParam.DefendEndHour1;
minute = m_ProbeAlarmParam.DefendEndMinute1;
CTime time1(2002,10,16,hour,minute,0,0);
m_EndTime1=time1;
//hour=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday2.nBgnHour;
//minute=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday2.nBgnMinute;
hour = m_ProbeAlarmParam.DefendStartHour2;
minute = m_ProbeAlarmParam.DefendStartMinute2;
CTime time2(2002,10,16,hour,minute,0,0);
m_BgnTime2=time2;
//hour=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday2.nEndHour;
//minute=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday2.nEndMinute;
hour = m_ProbeAlarmParam.DefendEndHour2;
minute = m_ProbeAlarmParam.DefendEndMinute2;
CTime time3(2002,10,16,hour,minute,0,0);
m_EndTime2=time3;
if(nSelDay&(1<<weekno))
m_ProbeRec=TRUE;
else
m_ProbeRec=FALSE;
UpdateData(FALSE);
int curSel=m_LstRecPort.GetNextItem(-1,LVNI_SELECTED);
if(curSel==-1)
{
if(m_LstRecPort.GetItemCount()>0)
{
m_LstRecPort.SetItemState(0,LVIS_FOCUSED|LVIS_SELECTED,LVIS_FOCUSED|LVIS_SELECTED);
curSel=0;
}
else
return;
}
m_Preset=m_LstRecPort.GetItemText(curSel,1);
UpdateData(FALSE);
}
}
BOOL CNetCtlPAlarmDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
DWORD t1=0;
DWORD t2=0;
t1=pMsg->message;
t2=(DWORD)pMsg->wParam;
if(t1==WM_KEYDOWN&&(t2==VK_RETURN||t2==VK_ESCAPE))
return true;
return CDialog::PreTranslateMessage(pMsg);
}
void CNetCtlPAlarmDlg::Refresh()
{
char * l_probealarmRecTime;
char * l_Port;
char * l_PresetPort;
char * l_Everyday;
char * l_Input;
CString m_Str;
l_probealarmRecTime=_T("探头报警录像时间(秒):");
l_Port=_T("通道");
l_PresetPort=_T("预置位置");
l_Everyday=_T("每天");
int i;
CString str;
int DVRHardWareType;
TM8100_NET_NODE*pCur;
pCur = pNetNodeHead;
while(pCur!=NULL)
{
if(pCur->ipAddr!=pNetRemoteCtlDlg->m_nIpAddr)
pCur = pCur->next;
else
{
DVRHardWareType = pCur->DVRHardWareType;
pCur = pCur->next;
}
}
if (pNetRemoteCtlDlg->m_nDVRType <= 0)
{
m_cProbeTime.SetLimitText(3);
GetDlgItem(IDC_STATICPROBERECORD)->SetWindowText(l_probealarmRecTime);
if(Con_pDVRPara!=NULL)
{
GetDlgItem(IDC_EDIT_PRESET)->EnableWindow(TRUE);
GetDlgItem(IDC_BTN_MODIFY)->EnableWindow(TRUE);
if(m_weekTab.GetItemCount()==6)
m_weekTab.InsertItem(7,l_Everyday,7);
if(m_LstRecPort.GetHeaderCtrl()->GetItemCount()==1)
m_LstRecPort.InsertColumn(1,l_PresetPort,LVCFMT_CENTER,100,1);
for(i=0;i<Con_pDVRPara->nPortNo;i++)
{
if(m_LstRecPort.GetItemCount()<=i)
{
str.Format("%s%02d",l_Port,i+1);
m_LstRecPort.InsertItem(i,str);
}
}
while(m_LstRecPort.GetItemCount()>Con_pDVRPara->nPortNo)
{
m_LstRecPort.DeleteItem(m_LstRecPort.GetItemCount()-1);
}
}
}
else
{
m_cProbeTime.SetLimitText(3);
GetDlgItem(IDC_STATICPROBERECORD)->SetWindowText(l_probealarmRecTime);
if(ENGLISH)
{
l_Input=_T("Input");
}
else
{
l_Input=_T("输入");
}
//if(DVRHardWareType==2)
if(m_LoginParam.ChannelCount>8)
{
m_alarminput.ResetContent() ;
for (i=0;i<16;i++)
{
m_Str.Format("%s%02d",l_Input,i+1) ;
m_alarminput.AddString(m_Str) ;
}
m_alarminput.SetCurSel(0);
}
// GetDlgItem(IDC_STATICPRESETPOSITION1)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT_PRESET)->EnableWindow(TRUE);
GetDlgItem(IDC_BTN_MODIFY)->EnableWindow(TRUE);
GetDlgItem(IDC_CHK_PROBEREC)->ShowWindow(SW_SHOW);
// GetDlgItem(IDC_CHK_ALLDAY)->ShowWindow(SW_HIDE);
if(m_weekTab.GetItemCount()==6)
m_weekTab.InsertItem(7,l_Everyday,7);
if(m_LstRecPort.GetHeaderCtrl()->GetItemCount()==1)
m_LstRecPort.InsertColumn(1,l_PresetPort,LVCFMT_CENTER,100,1);
for(i=0;i<m_LoginParam.ChannelCount;i++)
{
if(m_LstRecPort.GetItemCount()<=i)
{
str.Format("%s%02d",l_Port,i+1);
m_LstRecPort.InsertItem(i,str);
}
}
while(m_LstRecPort.GetItemCount()>m_LoginParam.ChannelCount)
{
m_LstRecPort.DeleteItem(m_LstRecPort.GetItemCount()-1);
}
}
OnSelchangeRprobealarmInput();
}
void CNetCtlPAlarmDlg::OnBtnModify()
{
// TODO: Add your control notification handler code here
char * l_Input_099;//=_T("Please Input a integer between 0 and 99");
char * l_None;
l_None=_T("无");
l_Input_099=_T("请输入一个0到99之间的整数");
// TODO: Add your control notification handler code here
int Index;
int nVal;
UpdateData(TRUE);
if(m_LstRecPort.GetSelectedCount()==0)
return;
nVal=CheckPreset(m_Preset);
if(nVal!=0xFF&&(nVal<0||nVal>99))
{
AfxMessageBox(l_Input_099);
GetDlgItem(IDC_EDIT_PRESET)->SetFocus();
return ;
}
Index=m_LstRecPort.GetNextItem(-1,LVNI_SELECTED);
if(Index!=-1)
{
if(nVal==0xFF)
{
m_LstRecPort.SetItemText(Index,1,l_None);
}
else
{
CString str;
str.Format("%d",nVal);
m_LstRecPort.SetItemText(Index,1,str);
}
}
}
void CNetCtlPAlarmDlg::OnItemchangedListRecport(NMHDR* pNMHDR, LRESULT* pResult)
{
this->UpdateData();
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
int curSel;
if(pNMListView==NULL)
return;
curSel=pNMListView->iItem;
if(curSel==-1)
return;
if(curSel!=m_LstRecPort.GetNextItem(-1,LVNI_SELECTED))
return;
m_Preset=m_LstRecPort.GetItemText(curSel,1);
UpdateData(FALSE);
*pResult = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -