123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288 |
- // SetAlarm.cpp : implementation file
- //
- #include "stdafx.h"
- #include "StoneU_HC_OCX.h"
- #include "SetAlarm.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- /////////////////////////////////////////////////////////////////////////////
- // CSetAlarm dialog
- extern SERVER_INFO serverinfo[MAXIPNUMBER];
- extern IP_INFO allipinfo[MAXIPNUMBER][MAXCHANNUM];
- extern CLIENTPARAM ClientParam;
- CSetAlarm::CSetAlarm(CWnd* pParent /*=NULL*/)
- : CDialog(CSetAlarm::IDD, pParent)
- {
- //{{AFX_DATA_INIT(CSetAlarm)
- // NOTE: the ClassWizard will add member initialization here
- //}}AFX_DATA_INIT
- }
- void CSetAlarm::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CSetAlarm)
- DDX_Control(pDX, IDC_TREEALARM, m_tree);
- //}}AFX_DATA_MAP
- }
- BEGIN_MESSAGE_MAP(CSetAlarm, CDialog)
- //{{AFX_MSG_MAP(CSetAlarm)
- ON_BN_CLICKED(IDC_SELALL, OnSelall)
- ON_BN_CLICKED(IDC_NOALL, OnNoall)
- ON_NOTIFY(NM_CLICK, IDC_TREEALARM, OnClickTreealarm)
- ON_NOTIFY(NM_DBLCLK, IDC_TREEALARM, OnDblclkTreealarm)
- ON_NOTIFY(TVN_SELCHANGED, IDC_TREEALARM, OnSelchangedTreealarm)
- ON_NOTIFY(TVN_SELCHANGING, IDC_TREEALARM, OnSelchangingTreealarm)
- ON_BN_CLICKED(IDC_EXIT, OnExit)
- ON_BN_CLICKED(IDCSETALARMOK, OnCsetalarmok)
- ON_BN_CLICKED(ID_CANCEL, OnCancel)
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
- /////////////////////////////////////////////////////////////////////////////
- // CSetAlarm message handlers
- BOOL CSetAlarm::OnInitDialog()
- {
- CDialog::OnInitDialog();
-
- CBitmap bmp[2];
-
- // TODO: Add extra initialization here
- m_bOK = FALSE;
- m_imagelist.Create(16,16,TRUE,1,1);
- bmp[0].LoadBitmap(IDB_UCHK);
- m_imagelist.Add(&bmp[0],RGB(0,0,0));
- bmp[1].LoadBitmap(IDB_CHK);
- m_imagelist.Add(&bmp[1],RGB(0,0,0));
- m_tree.SetImageList(&m_imagelist,TVSIL_NORMAL);
- for(int i = 0; i < MAXIPNUMBER; i++)
- {
- if(serverinfo[i].m_iServerChannelNumber >= 0)
- {
- F_AddNode(i);
- }
- }
- F_CheckNode();
- return TRUE; // return TRUE unless you set the focus to a control
- // EXCEPTION: OCX Property Pages should return FALSE
- }
- void CSetAlarm::OnSelall()
- {
- // TODO: Add your control notification handler code here
- HTREEITEM node1;
- node1=m_tree.GetRootItem();
- while (node1!=NULL)
- {
- m_tree.SetItemImage(node1,1,1);
- node1=m_tree.GetNextSiblingItem(node1);
- }
- }
- void CSetAlarm::OnNoall()
- {
- // TODO: Add your control notification handler code here
- HTREEITEM node1;
- node1=m_tree.GetRootItem();
- while (node1!=NULL)
- {
- m_tree.SetItemImage(node1,0,0);
- node1=m_tree.GetNextSiblingItem(node1);
- }
- }
- void CSetAlarm::F_AddNode(int ipnum)
- {
- HTREEITEM node1;
- CString sTemp;
- node1=m_tree.GetRootItem();
- while (node1!=NULL)
- {
- sTemp=m_tree.GetItemText(node1);
- sTemp=sTemp.Left(sTemp.Find("("));
- if (serverinfo[ipnum].m_csServerIP == sTemp)
- {
- return;
- }
- node1=m_tree.GetNextSiblingItem(node1);
-
- }
- sTemp.Format("%s(%s)----对应报警灯%d",serverinfo[ipnum].m_csServerName,serverinfo[ipnum].m_csServerIP, ipnum+1);
- node1=m_tree.InsertItem(_T(sTemp),0,0,TVI_ROOT);
- m_tree.SetItemData(node1,ipnum);
- m_tree.Expand(node1,TVE_EXPAND);
- }
- void CSetAlarm::F_CheckNode()
- {
- HTREEITEM node1;
- int i;
- node1=m_tree.GetRootItem();
- while (node1!=NULL)
- {
- i = m_tree.GetItemData(node1);
- if(ClientParam.m_iAlarmHandle[i] != -1)
- m_tree.SetItemImage(node1,1,1);
- node1=m_tree.GetNextSiblingItem(node1);
- }
- }
- void CSetAlarm::OnClickTreealarm(NMHDR* pNMHDR, LRESULT* pResult)
- {
- // TODO: Add your control notification handler code here
- HTREEITEM node1;
- int imageindex,selectindex;
-
- node1=m_tree.GetSelectedItem();
- if (node1==m_nSelItem)
- {
- *pResult = 0;
- return;
- }
- m_tree.GetItemImage(node1,imageindex,selectindex);
-
- if (imageindex==1)
- {
- m_tree.SetItemImage(node1,0,0);
- }else
- {
- m_tree.SetItemImage(node1,1,1);
- }
- *pResult = 0;
- }
- void CSetAlarm::OnDblclkTreealarm(NMHDR* pNMHDR, LRESULT* pResult)
- {
- // TODO: Add your control notification handler code here
- HTREEITEM node1;
- int imageindex,selectindex;
-
- node1=m_tree.GetSelectedItem();
- m_tree.GetItemImage(node1,imageindex,selectindex);
- if (imageindex==1)
- {
- m_tree.SetItemImage(node1,0,0);
- }else
- {
- m_tree.SetItemImage(node1,1,1);
- }
- *pResult = 0;
- }
- void CSetAlarm::OnSelchangedTreealarm(NMHDR* pNMHDR, LRESULT* pResult)
- {
- NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
- // TODO: Add your control notification handler code here
- HTREEITEM node1;
- int imageindex,selectindex;
-
- node1=m_tree.GetSelectedItem();
- if (node1==m_nSelItem)
- {
- *pResult = 0;
- return;
- }
- m_tree.GetItemImage(node1,imageindex,selectindex);
-
- if (imageindex==1)
- {
- m_tree.SetItemImage(node1,0,0);
- }else
- {
- m_tree.SetItemImage(node1,1,1);
- }
- *pResult = 0;
- }
- void CSetAlarm::OnSelchangingTreealarm(NMHDR* pNMHDR, LRESULT* pResult)
- {
- NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
- // TODO: Add your control notification handler code here
- int imageindex,selectindex;
- m_nSelItem=m_tree.GetSelectedItem();
- m_tree.GetItemImage(m_nSelItem,imageindex,selectindex);
-
- if (imageindex==1)
- {
- m_tree.SetItemImage(m_nSelItem,0,0);
- }else
- {
- m_tree.SetItemImage(m_nSelItem,1,1);
- }
- *pResult = 0;
- }
- void CSetAlarm::OnExit()
- {
- // TODO: Add your control notification handler code here
- CDialog::OnCancel();
- }
- void CSetAlarm::OnCsetalarmok()
- {
- // TODO: Add your control notification handler code here
- HTREEITEM node1;
- int imageindex,selectindex;
- int ipnum;
- CString sTemp;
-
- node1=m_tree.GetRootItem();
- while(node1!=NULL)
- {
- m_tree.GetItemImage(node1,imageindex,selectindex);
- ipnum=m_tree.GetItemData(node1);
-
- if(imageindex==1)
- {
- if(ClientParam.m_iAlarmHandle[ipnum] == -1)
- {
- ClientParam.m_iAlarmHandle[ipnum] = NET_DVR_SetupAlarmChan(serverinfo[ipnum].m_lServerID);
- if(ClientParam.m_iAlarmHandle[ipnum] == -1)
- {
- m_tree.SetItemImage(node1,0,0);
- sTemp.Format("%s报警设防失败 lasterror = %d!",serverinfo[ipnum].m_csServerName, NET_DVR_GetLastError());
- MessageBox(sTemp, "温馨提示", MB_ICONINFORMATION);
- }
- }
- }
- else
- {
- if(ClientParam.m_iAlarmHandle[ipnum] >= 0)
- {
- if(NET_DVR_CloseAlarmChan(ClientParam.m_iAlarmHandle[ipnum]))
- {
- ClientParam.m_iAlarmHandle[ipnum] = -1;
- }
- else
- {
- m_tree.SetItemImage(node1,1,1);
- sTemp.Format("%s报警撤防失败! lasterror = %d ",serverinfo[ipnum].m_csServerName, NET_DVR_GetLastError());
- MessageBox(sTemp, "温馨提示", MB_ICONINFORMATION);
- }
- }
- }
- node1=m_tree.GetNextSiblingItem(node1);
- }
- m_bOK = TRUE;
-
- MessageBox("布防撤防完成!", "温馨提示", MB_ICONINFORMATION);
- }
- void CSetAlarm::OnCancel()
- {
- // TODO: Add your control notification handler code here
-
- }
|