1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216 |
- // Dlg_Moniter.cpp : 实现文件
- //
- #include "stdafx.h"
- #include "StoneU_Door.h"
- #include "Dlg_Frame.h"
- #include "Dlg_Moniter.h"
- #include ".\dlg_moniter.h"
- #include "Global.h"
- #include "mdlProject.h"
- #include "Dlg_SetDoor.h"
- #include "DBConnection.h"
- #include "Dlg_CardProPerty.h"
- // CDlg_Moniter 对话框
- #define DOOR_W 40
- #define DOOR_H 60
- extern bool g_bIsWebCall;
- IMPLEMENT_DYNAMIC(CDlg_Moniter, CDialog)
- CDlg_Moniter::CDlg_Moniter(CWnd* pParent /*=NULL*/)
- : CDialog(CDlg_Moniter::IDD, pParent)
- {
- m_nNowIndex = 0;
- InitializeCriticalSection(&m_InSertRecordList);
- InitializeCriticalSection(&m_InSertDoorList);
- }
- CDlg_Moniter::~CDlg_Moniter()
- {
- DeleteCriticalSection( &m_InSertRecordList );
- DeleteCriticalSection( &m_InSertDoorList );
- }
- void CDlg_Moniter::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- DDX_Control(pDX, IDC_LIST_INFO, m_List_Info);
- DDX_Control(pDX, IDC_LIST_DOOR, m_List_Door);
- }
- BEGIN_MESSAGE_MAP(CDlg_Moniter, CDialog)
- ON_BN_CLICKED(IDC_BUTTON1, OnBnClickedButton1)
- ON_WM_CTLCOLOR()
- ON_WM_ERASEBKGND()
- ON_COMMAND(ID_DOOR_OPENDOOR, OnDoorOpendoor)
- ON_COMMAND(ID_DOOR_JUSTTIME, OnDoorJusttime)
- ON_COMMAND(ID_DOOR_DOOROPENDELAYTIME, OnDoorDooropendelaytime)
- ON_NOTIFY(NM_RCLICK, IDC_LIST_DOOR, OnNMRclickListDoor)
- ON_COMMAND(ID_RECONNECT, OnReconnect)
- ON_COMMAND(ID_DOOR_CLOSEDOOR, OnDoorClosedoor)
- ON_COMMAND(ID_DOOR_RECONNECT, OnDoorReconnect)
- ON_COMMAND(ID_DOOR_SORT, OnDoorSort)
- ON_COMMAND(ID_DOOR_SORT2, OnDoorSort2)
- ON_COMMAND(ID_DOOR_SORT1, OnDoorSort1)
- ON_NOTIFY(NM_DBLCLK, IDC_LIST_INFO, OnNMDblclkListInfo)
- ON_COMMAND(ID_MENU_CLEARLIST, OnMenuClearlist)
- ON_NOTIFY(NM_RCLICK, IDC_LIST_INFO, OnNMRclickListInfo)
- END_MESSAGE_MAP()
- // CDlg_Moniter 消息处理程序
- BOOL CDlg_Moniter::OnInitDialog()
- {
- CDialog::OnInitDialog();
- // TODO: 在此添加额外的初始化
- InitList();
- m_imageList.Create(32,32,ILC_COLOR24,1,1);
- CBitmap Bitmap[6];
- Bitmap[0].LoadBitmap(IDB_DOOR_CLOSE);
- m_imageList.Add(&Bitmap[0],RGB(0,0,0));
- Bitmap[1].LoadBitmap(IDB_DOOR_OPEN);
- m_imageList.Add(&Bitmap[1],RGB(0,0,0));
- Bitmap[2].LoadBitmap(IDB_DOOR_DISCONNECT);
- m_imageList.Add(&Bitmap[2],RGB(0,0,0));
- Bitmap[3].LoadBitmap(IDB_DOOR_NOMONITER);
- m_imageList.Add(&Bitmap[3],RGB(0,0,0));
- m_List_Door.SetImageList(&m_imageList,LVSIL_NORMAL );
-
- return TRUE; // return TRUE unless you set the focus to a control
- // 异常: OCX 属性页应返回 FALSE
- }
- void CDlg_Moniter::SetPos( CRect rect )
- {
- CRect rc1;
- rc1.left = 0;
- rc1.right = rc1.left+rect.Width();
- rc1.top = 0;
- rc1.bottom = rc1.top+rect.Height()-4;
- this->MoveWindow( rc1 );
- CRect rc2;
- rc2.left = rc1.left + 10;
- rc2.right = rc1.right - 10;
- rc2.top = 10;
- rc2.bottom = rc1.top + 130;
- m_List_Door.MoveWindow( rc2 );
- CRect rc3;
- rc3.left = rc1.left + 10;
- rc3.right = rc1.right - 10;
- rc3.top = rc2.bottom+10;;
- rc3.bottom = rc1.bottom-0;
- m_List_Info.MoveWindow( rc3 );
- }
- int CDlg_Moniter::InitList(void)
- {
- //m_List_Info.InsertColumn( 0, "执行时刻" );
- //m_List_Info.InsertColumn( 1, "人员信息" );
- //m_List_Info.InsertColumn( 2, "描述" );
- //m_List_Info.InsertColumn( 3, "信息" );
- //m_List_Info.SetColumnWidth( 0, 120 );
- //m_List_Info.SetColumnWidth( 1, 200);
- //m_List_Info.SetColumnWidth( 2, 200);
- //m_List_Info.SetColumnWidth( 3, 650);
- //m_List_Info.SetExtendedStyle(m_List_Info.GetExtendedStyle() | LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
- //m_List_Rule.SetColColor(0,RGB(10,150,20)); //设置列背景色
- //m_List_Rule.SetColColor(2,RGB(30,100,90)); //设置列背景色
- //m_List_Rule.SetBkColor(RGB(50,10,10)); //设置背景色
- //m_List_Rule.SetItemColor(1,1,RGB(100,100,10)); //设置指定单元背景色
- //m_List_Rule.SetRowHeigt(25); //设置行高度
- //m_List_Rule.SetHeaderHeight(1.5); //设置头部高度
- //m_List_Rule.SetHeaderFontHW(16,0); //设置头部字体高度,和宽度,0表示缺省,自适应
- //m_List_Record.SetHeaderTextColor(RGB(0,0,0)); //设置头部字体颜色
- //m_List_Rule.SetTextColor(RGB(0,255,255)); //设置文本颜色
- m_List_Info.SetHeaderBKColor(213,222,242,8); //设置头部背景色
- ////m_List_Rule.SetFontHW(15,0); //设置字体高度,和宽度,0表示缺省宽度
- //m_List_Rule.SetColTextColor(2,RGB(255,255,100)); //设置列文本颜色
- //m_List_Rule.SetItemTextColor(3,1,RGB(255,0,0)); //设置单元格字体颜色
- m_List_Info.InsertColumn(0,g_strIndex,LVCFMT_LEFT,40);
- m_List_Info.InsertColumn(1,g_strHappenTime,LVCFMT_LEFT,130);
- m_List_Info.InsertColumn(2,g_strCardNumber,LVCFMT_LEFT,80);
- m_List_Info.InsertColumn(3,g_strUserInfo,LVCFMT_LEFT,200);
- m_List_Info.InsertColumn(4,g_strDescribe,LVCFMT_LEFT,150);
- m_List_Info.InsertColumn(5,g_strInfomation,LVCFMT_LEFT,478);
- SetWindowLong(m_List_Info.m_hWnd ,GWL_EXSTYLE,WS_EX_CLIENTEDGE);
- m_List_Info.SetExtendedStyle(LVS_EX_GRIDLINES); //设置扩展风格为网格
- ::SendMessage(m_List_Info.m_hWnd, LVM_SETEXTENDEDLISTVIEWSTYLE,LVS_EX_FULLROWSELECT, LVS_EX_FULLROWSELECT);
- m_List_Info.SetRowHeigt( 20 );
- //m_List_Info.SetFontHW( 13,8 );
- return 0;
- }
- void CDlg_Moniter::OnBnClickedButton1()
- {
- //for( int nControllerIndex=0;nControllerIndex<CONCTROLLER_NUM_MAX;nControllerIndex++ )
- //{
- // if( g_pDlgMain->m_pThread_Controller[nControllerIndex] )
- // {
- // g_pDlgMain->m_pThread_Controller[nControllerIndex]->m_Controller.nOperterType = OPERATE_DoorOpen;
- // }
- //}
- }
- HBRUSH CDlg_Moniter::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
- {
- HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
- // TODO: 在此更改 DC 的任何属性
- // TODO: 如果默认的不是所需画笔,则返回另一个画笔
- return hbr;
- }
- BOOL CDlg_Moniter::OnEraseBkgnd(CDC* pDC)
- {
- CBrush br1;
- CRect rect;
- GetWindowRect(&rect);
- ScreenToClient(&rect);
- br1.CreateSolidBrush(g_Color3);
- pDC->FillRect(rect,&br1);
- DeleteObject( br1 );
-
- return TRUE;
- //return CDialog::OnEraseBkgnd(pDC);
- }
- bool CDlg_Moniter::IsExist( CString sTime,CString sCardID )
- {
- bool bRet=false;
- for( int i=0;i<100;i++ )
- {
- if( m_sTime[i]=="" )
- {
- break;
- }
- else
- {
- if( sTime==m_sTime[i] && sCardID==m_sCard[i] )
- {
- bRet = true;
- break;
- }
- }
- }
- if( !bRet )
- {
- m_sTime[m_nNowIndex] = sTime;
- m_sCard[m_nNowIndex] = sCardID;
- m_nNowIndex++;
- if( m_nNowIndex==100 )
- m_nNowIndex=0;
- }
- return bRet;
- }
- void CDlg_Moniter::InsertItemToList( CString sTime,CString sCardID,CString sUserInfo,CString sDoorName,CString sInfo )
- {
- EnterCriticalSection( &m_InSertRecordList );
- if( IsExist( sTime,sCardID ) )
- {
- LeaveCriticalSection( &m_InSertRecordList );
- return;
- }
- if( m_List_Info.GetItemCount()>=2000 )
- {
- m_List_Info.DeleteAllItems();
- }
- CRect rc;
- m_List_Info.GetWindowRect( rc );
- int H = rc.Height();
- CString sIndex;
- int nInsertIndex = m_List_Info.GetItemCount();
- sIndex.Format( "%d",nInsertIndex+1 );
- m_List_Info.InsertItem( nInsertIndex,sIndex );
- m_List_Info.SetItemText( nInsertIndex,1,sTime );
- m_List_Info.SetItemText( nInsertIndex,2,sCardID );
- m_List_Info.SetItemText( nInsertIndex,3,sUserInfo );
- m_List_Info.SetItemText( nInsertIndex,4,sDoorName );
- m_List_Info.SetItemText( nInsertIndex,5,sInfo );
- if( g_bPassOK(sInfo) )
- {
- m_List_Info.SetItemColor( 0,nInsertIndex,RGB( 80,128,30 ) );
- m_List_Info.SetItemColor( 1,nInsertIndex,RGB( 80,128,30 ) );
- m_List_Info.SetItemColor( 2,nInsertIndex,RGB( 80,128,30 ) );
- m_List_Info.SetItemColor( 3,nInsertIndex,RGB( 80,128,30 ) );
- m_List_Info.SetItemColor( 4,nInsertIndex,RGB( 80,128,30 ) );
- m_List_Info.SetItemColor( 5,nInsertIndex,RGB( 80,128,30 ) );
- m_List_Info.SetItemTextColor( 0,nInsertIndex,RGB( 200,200,255 ) );
- m_List_Info.SetItemTextColor( 1,nInsertIndex,RGB( 200,200,255 ) );
- m_List_Info.SetItemTextColor( 2,nInsertIndex,RGB( 200,200,255 ) );
- m_List_Info.SetItemTextColor( 3,nInsertIndex,RGB( 200,200,255 ) );
- m_List_Info.SetItemTextColor( 4,nInsertIndex,RGB( 200,200,255 ) );
- m_List_Info.SetItemTextColor( 5,nInsertIndex,RGB( 200,200,255 ) );
- }
- else
- {
- m_List_Info.SetItemColor( 0,nInsertIndex,RGB( 211,63,45 ) );
- m_List_Info.SetItemColor( 1,nInsertIndex,RGB( 211,63,45 ) );
- m_List_Info.SetItemColor( 2,nInsertIndex,RGB( 211,63,45 ) );
- m_List_Info.SetItemColor( 3,nInsertIndex,RGB( 211,63,45 ) );
- m_List_Info.SetItemColor( 4,nInsertIndex,RGB( 211,63,45 ) );
- m_List_Info.SetItemColor( 5,nInsertIndex,RGB( 211,63,45 ) );
- //m_List_Info.SetItemTextColor( 0,nInsertIndex,RGB( 255,255,255 ) );
- //m_List_Info.SetItemTextColor( 1,nInsertIndex,RGB( 255,255,255 ) );
- //m_List_Info.SetItemTextColor( 2,nInsertIndex,RGB( 255,255,255 ) );
- //m_List_Info.SetItemTextColor( 3,nInsertIndex,RGB( 255,255,255 ) );
- //m_List_Info.SetItemTextColor( 4,nInsertIndex,RGB( 255,255,255 ) );
- }
- int H2=20;
- if( (nInsertIndex+1)*H2<H )
- {
- CRect rect( 0,(nInsertIndex+0)*H2,2000,(nInsertIndex+2)*H2 );
- m_List_Info.InvalidateRect(rect);
- }
- else
- {
- CRect rect( 0,H-2*H2,2000,H+H2 );
- m_List_Info.InvalidateRect(rect);
- }
- m_List_Info.EnsureVisible(nInsertIndex, FALSE);
- if( !g_bIsWebCall )//是IDE调用才插入进出记录
- InsertRecordInfo( (char *)(LPCTSTR)sCardID,(char *)(LPCTSTR)sUserInfo,(char *)(LPCTSTR)sDoorName,(char *)(LPCTSTR)sInfo,(char *)(LPCTSTR)sTime );
- LeaveCriticalSection( &m_InSertRecordList );
- }
- void CDlg_Moniter::InsertItemToList( int iType,bool bResult,CString sControlName )
- {
- if( !g_bIsInsertReconnectInfo && iType==OPERATE_ReConnect )
- return ;
- EnterCriticalSection( &m_InSertRecordList );
- CString sName;
- //if( m_sCurrentDoorName=="" )
- sName = sControlName;
- //else
- // sName = m_sCurrentDoorName;
- if( sName=="" )
- sName = m_sCurrentDoorName;
- CRect rc;
- m_List_Info.GetWindowRect( rc );
- int H = rc.Height();
- CString sIndex;
- int nInsertIndex = m_List_Info.GetItemCount();
- sIndex.Format( "%d",nInsertIndex+1 );
- CString sTime;
- CString sInfo;
- SYSTEMTIME st;
- ::GetLocalTime( &st );
- sTime.Format(" %d-%02d-%02d %02d:%02d:%02d",st.wYear,st.wMonth,st.wDay,st.wHour,st.wMinute,st.wSecond );
- switch( iType )
- {
- case OPERATE_JustTime:
- {
- if( bResult )
- sInfo.Format(" %s--%s%s",sName,g_strAdjustTime,g_strSuccess );
- else
- sInfo.Format(" %s--%s%s",sName,g_strAdjustTime,g_strFail );
- }
- break;
- case OPERATE_DoorOpen:
- {
- if( bResult )
- sInfo.Format(" %s--%s%s",sName,g_strOpenDoor,g_strSuccess );
- else
- sInfo.Format(" %s--%s%s",sName,g_strOpenDoor,g_strFail );
- }
- break;
- case OPERATE_ControlAndDelayTime:
- {
- if( bResult )
- sInfo.Format(" %s--%s%s",sName,g_strSetDelayTime,g_strSuccess );
- else
- sInfo.Format(" %s--%s%s",sName,g_strSetDelayTime,g_strFail );
- }
- break;
- case OPERATE_ReConnect:
- {
- if( bResult )
- sInfo.Format(" %s--%s%s",sName,g_strConnect,g_strSuccess );
- else
- sInfo.Format(" %s--%s%s",sName,g_strConnect,g_strFail );
- }
- break;
- }
- m_List_Info.InsertItem( nInsertIndex,sIndex );
- m_List_Info.SetItemText( nInsertIndex,1,sTime );
- m_List_Info.SetItemText( nInsertIndex,2,"" );
- m_List_Info.SetItemText( nInsertIndex,3,"" );
- m_List_Info.SetItemText( nInsertIndex,4,"" );
- m_List_Info.SetItemText( nInsertIndex,5,sInfo );
- m_List_Info.SetItemColor( 0,nInsertIndex,RGB( 126,207,247) );
- m_List_Info.SetItemColor( 1,nInsertIndex,RGB( 126,207,247) );
- m_List_Info.SetItemColor( 2,nInsertIndex,RGB( 126,207,247) );
- m_List_Info.SetItemColor( 3,nInsertIndex,RGB( 126,207,247) );
- m_List_Info.SetItemColor( 4,nInsertIndex,RGB( 126,207,247) );
- m_List_Info.SetItemColor( 5,nInsertIndex,RGB( 126,207,247) );
- if( !bResult )
- {
- m_List_Info.SetItemTextColor( 0,nInsertIndex,RGB( 200,0,0 ) );
- m_List_Info.SetItemTextColor( 1,nInsertIndex,RGB( 200,0,0 ) );
- m_List_Info.SetItemTextColor( 2,nInsertIndex,RGB( 200,0,0 ) );
- m_List_Info.SetItemTextColor( 3,nInsertIndex,RGB( 200,0,0 ) );
- m_List_Info.SetItemTextColor( 4,nInsertIndex,RGB( 200,0,0 ) );
- m_List_Info.SetItemTextColor( 5,nInsertIndex,RGB( 200,0,0 ) );
- //m_List_Info.SetItemTextColor( 0,nInsertIndex,RGB( 153,51,51 ) );
- //m_List_Info.SetItemTextColor( 1,nInsertIndex,RGB( 153,51,51 ) );
- //m_List_Info.SetItemTextColor( 2,nInsertIndex,RGB( 153,51,51 ) );
- //m_List_Info.SetItemTextColor( 3,nInsertIndex,RGB( 153,51,51 ) );
- //m_List_Info.SetItemTextColor( 4,nInsertIndex,RGB( 153,51,51 ) );
- }
- else
- {
- //m_List_Info.SetItemTextColor( 0,nInsertIndex,RGB( 255,255,255 ) );
- //m_List_Info.SetItemTextColor( 1,nInsertIndex,RGB( 255,255,255 ) );
- //m_List_Info.SetItemTextColor( 2,nInsertIndex,RGB( 255,255,255 ) );
- //m_List_Info.SetItemTextColor( 3,nInsertIndex,RGB( 255,255,255 ) );
- //m_List_Info.SetItemTextColor( 4,nInsertIndex,RGB( 255,255,255 ) );
- //m_List_Info.SetItemTextColor( 0,nInsertIndex,RGB( 200,200,255 ) );
- //m_List_Info.SetItemTextColor( 1,nInsertIndex,RGB( 200,200,255 ) );
- //m_List_Info.SetItemTextColor( 2,nInsertIndex,RGB( 200,200,255 ) );
- //m_List_Info.SetItemTextColor( 3,nInsertIndex,RGB( 200,200,255 ) );
- //m_List_Info.SetItemTextColor( 4,nInsertIndex,RGB( 200,200,255 ) );
- }
- int H2=20;
- if( (nInsertIndex+1)*H2<H )
- {
- CRect rect( 0,(nInsertIndex+0)*H2,2000,(nInsertIndex+2)*H2 );
- m_List_Info.InvalidateRect(rect);
- }
- else
- {
- CRect rect( 0,H-2*H2,2000,H+H2 );
- m_List_Info.InvalidateRect(rect);
- }
- m_List_Info.EnsureVisible(nInsertIndex, FALSE);
- //ADOCtrl.InsertRecord( sTime,"","","",sInfo );
- LeaveCriticalSection( &m_InSertRecordList );
- }
- void CDlg_Moniter::AddDoorToList( CString sControlName,int nStatus )
- {
- if( sControlName=="" )
- return;
-
- EnterCriticalSection( &m_InSertDoorList );
- for( int i=0;i<CONCTROLLER_NUM_MAX;i++ )
- {
- if( g_Controller[i].nID>=0 && g_Controller[i].sName==sControlName )
- {
- CString sItemText;
- CString sInsertTemp;
-
- for( int nDoorIndex=1;nDoorIndex<9;nDoorIndex++ )
- {
- if( g_Controller[i].sDoorName[nDoorIndex]!="" )
- {
- int nItemSize = m_List_Door.GetItemCount();
- int nItemInsert=nItemSize;
- bool bExist=false;
- if( nItemSize>0 )
- {
- for( int iItemIndex=0;iItemIndex<nItemSize;iItemIndex++ )
- {
- sItemText = m_List_Door.GetItemText( iItemIndex,0 );
- sInsertTemp.Format("%d-%s",g_Controller[i].nID,g_Controller[i].sDoorName[nDoorIndex] );
- if( sItemText==sInsertTemp )
- {
- nItemInsert = iItemIndex;
- bExist = true;
- break;
- }
- }
- }
- else
- {
- sInsertTemp.Format("%d-%s",g_Controller[i].nID,g_Controller[i].sDoorName[nDoorIndex] );
- }
- if( !bExist )
- {
- nItemSize = m_List_Door.GetItemCount();
- m_List_Door.InsertItem(nItemInsert,sInsertTemp,nStatus);
- m_List_Door.SetIconSpacing(DOOR_W,DOOR_H);
- }
- else
- {
- //m_List_Door.DeleteItem( nItemInsert );
- //m_List_Door.InsertItem(nItemInsert,g_Controller[i].sDoorName[nDoorIndex],nStatus);
- //m_List_Door.SetIconSpacing(DOOR_W,DOOR_H);
- LVITEM Itemattr;
- Itemattr.iItem=nItemInsert; //指定哪一行
- Itemattr.mask = LVIF_IMAGE;
- Itemattr.iImage =nStatus; //要把当前图标改成m_Imagelist 中下标为 4 的图标。
- m_List_Door.SetItem (&Itemattr); //更改成功。
- }
- }
- else
- break;
- }
- break;
- }
- }
- LeaveCriticalSection( &m_InSertDoorList );
- }
- void CDlg_Moniter::AddDoorToList( CString sControlName,int iDoorIndex,int nStatus )
- {
- if( sControlName=="" )
- return;
- //CString sShow;
- //sShow.Format( "%s EnterCriticalSection",sControlName );
- //WriteLog( sShow );
- EnterCriticalSection( &m_InSertDoorList );
- for( int i=0;i<CONCTROLLER_NUM_MAX;i++ )
- {
- if( g_Controller[i].nID>=0 && g_Controller[i].sName==sControlName )
- {
- CString sItemText;
- CString sInsertTemp;
- int nItemSize = m_List_Door.GetItemCount();
- int nItemInsert=nItemSize;
- bool bExist=false;
- for( int iItemIndex=0;iItemIndex<nItemSize;iItemIndex++ )
- {
- sItemText = m_List_Door.GetItemText( iItemIndex,0 );
- sInsertTemp.Format("%d-%s",g_Controller[i].nID,g_Controller[i].sDoorName[iDoorIndex] );
- if( sItemText==sInsertTemp )
- {
- nItemInsert = iItemIndex;
- bExist = true;
- break;
- }
- }
- if( bExist && g_Controller[i].sDoorName[iDoorIndex]!="" )
- {
- //m_List_Door.DeleteItem( nItemInsert );
- //m_List_Door.InsertItem(nItemInsert,g_Controller[i].sDoorName[iDoorIndex],nStatus);
- //m_List_Door.SetIconSpacing(DOOR_W,DOOR_H);
- LVITEM Itemattr;
- Itemattr.iItem=nItemInsert; //指定哪一行
- Itemattr.mask = LVIF_IMAGE;
- Itemattr.iImage =nStatus; //要把当前图标改成m_Imagelist 中下标为 4 的图标。
- m_List_Door.SetItem (&Itemattr); //更改成功。
- }
- break;
- }
- }
- LeaveCriticalSection( &m_InSertDoorList );
- //sShow.Format( "%s LeaveCriticalSection",sControlName );
- //WriteLog( sShow );
- }
- void CDlg_Moniter::DelDoorFromList( CString sControlName )
- {
- if( sControlName=="" )
- return;
-
- EnterCriticalSection( &m_InSertDoorList );
- for( int i=0;i<CONCTROLLER_NUM_MAX;i++ )
- {
- if( g_Controller[i].nID>=0 && g_Controller[i].sName==sControlName )
- {
- CString sItemText;
- CString sInsertTemp;
- for( int nDoorIndex=1;nDoorIndex<9;nDoorIndex++ )
- {
- if( g_Controller[i].sDoorName[nDoorIndex]!="" )
- {
- int nItemSize = m_List_Door.GetItemCount();
- int nItemDel=0;
- bool bExist=false;
- for( int iItemIndex=0;iItemIndex<nItemSize;iItemIndex++ )
- {
- sItemText = m_List_Door.GetItemText( iItemIndex,0 );
- sInsertTemp.Format("%d-%s",g_Controller[i].nID,g_Controller[i].sDoorName[nDoorIndex] );
- if( sItemText==sInsertTemp )
- {
- nItemDel = iItemIndex;
- bExist = true;
- break;
- }
- }
- if( bExist )
- {
- m_List_Door.DeleteItem( nItemDel );
- }
- }
- else
- break;
- }
- break;
- }
- }
- LeaveCriticalSection( &m_InSertDoorList );
- }
- void CDlg_Moniter::OnDoorOpendoor()
- {
- for( int i=0;i<CONCTROLLER_NUM_MAX;i++ )
- {
- if( g_pDlgMain->m_pThread_Controller[i] )
- {
- if( !g_pDlgMain->m_pThread_Controller[i]->m_bExitFinish )
- {
- CString sTemp1,sTemp2,sTemp3,sTemp4,sTemp5,sTemp6,sTemp7,sTemp8;
- sTemp1.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[1] );
- sTemp2.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[2] );
- sTemp3.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[3] );
- sTemp4.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[4] );
- sTemp5.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[5] );
- sTemp6.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[6] );
- sTemp7.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[7] );
- sTemp8.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[8] );
- if( sTemp1==m_sCurrentDoorName )
- {
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.bDoorIsSet[1] = true;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nOperterType=OPERATE_DoorOpen;
- break;
- }
- else if( sTemp2==m_sCurrentDoorName )
- {
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.bDoorIsSet[2] = true;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nOperterType=OPERATE_DoorOpen;
- break;
- }
- else if( sTemp3==m_sCurrentDoorName )
- {
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.bDoorIsSet[3] = true;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nOperterType=OPERATE_DoorOpen;
- break;
- }
- else if( sTemp4==m_sCurrentDoorName )
- {
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.bDoorIsSet[4] = true;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nOperterType=OPERATE_DoorOpen;
- break;
- }
- else if( sTemp5==m_sCurrentDoorName )
- {
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.bDoorIsSet[5] = true;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nOperterType=OPERATE_DoorOpen;
- break;
- }
- else if( sTemp6==m_sCurrentDoorName )
- {
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.bDoorIsSet[6] = true;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nOperterType=OPERATE_DoorOpen;
- break;
- }
- else if( sTemp7==m_sCurrentDoorName )
- {
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.bDoorIsSet[7] = true;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nOperterType=OPERATE_DoorOpen;
- break;
- }
- else if( sTemp8==m_sCurrentDoorName )
- {
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.bDoorIsSet[8] = true;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nOperterType=OPERATE_DoorOpen;
- break;
- }
- }
- }
- }
- }
- void CDlg_Moniter::OnDoorSort()
- {
- CStringArray sArrayOnLine,sArrayOffLine;
- CString sItemText;
- int nItemSize = m_List_Door.GetItemCount();
- if( nItemSize==0 )
- return;
- for( int iItemIndex=0;iItemIndex<nItemSize;iItemIndex++ )
- {
- sItemText = m_List_Door.GetItemText( iItemIndex,0 );
-
- if( g_FindDoorStatusByDoorName( sItemText ) )
- sArrayOnLine.Add( sItemText );
- else
- sArrayOffLine.Add( sItemText );
- }
- CString str;
- int nIndex=0;
- int nOnLineCount = sArrayOnLine.GetCount();
- int nOffLineCount = sArrayOffLine.GetCount();
- //if( nOnLineCount==0 || nOffLineCount==0 )
- // return;
-
- m_List_Door.DeleteAllItems();
- for( int i=0;i<nOnLineCount;i++ )
- {
- str = sArrayOnLine.GetAt( i );
- m_List_Door.InsertItem( nIndex,str,0 );
- m_List_Door.SetIconSpacing(DOOR_W,DOOR_H);
- nIndex++;
- }
- for( int i=0;i<nOffLineCount;i++ )
- {
- str = sArrayOffLine.GetAt( i );
- m_List_Door.InsertItem( nIndex,str,2 );
- m_List_Door.SetIconSpacing(DOOR_W,DOOR_H);
- nIndex++;
- }
- for( int i=0;i<CONCTROLLER_NUM_MAX;i++ )
- {
- if( g_pDlgMain->m_pThread_Controller[i] )
- {
- memset( g_pDlgMain->m_pThread_Controller[i]->m_nDoorStatus,-1,40 );
- }
- }
- }
- void CDlg_Moniter::OnDoorSort2()
- {
- OnDoorSort();
- }
- void CDlg_Moniter::OnDoorSort1()
- {
- OnDoorSort();
- }
- void CDlg_Moniter::OnDoorClosedoor()
- {
- }
- void CDlg_Moniter::OnDoorJusttime()
- {
- for( int i=0;i<CONCTROLLER_NUM_MAX;i++ )
- {
- if( g_pDlgMain->m_pThread_Controller[i] )
- {
- if( !g_pDlgMain->m_pThread_Controller[i]->m_bExitFinish )
- {
- CString sTemp1,sTemp2,sTemp3,sTemp4,sTemp5,sTemp6,sTemp7,sTemp8;
- sTemp1.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[1] );
- sTemp2.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[2] );
- sTemp3.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[3] );
- sTemp4.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[4] );
- sTemp5.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[5] );
- sTemp6.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[6] );
- sTemp7.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[7] );
- sTemp8.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[8] );
- if( sTemp1==m_sCurrentDoorName )
- {
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.bDoorIsSet[1] = true;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nOperterType=OPERATE_JustTime;
- break;
- }
- else if( sTemp2==m_sCurrentDoorName )
- {
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.bDoorIsSet[2] = true;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nOperterType=OPERATE_JustTime;
- break;
- }
- else if( sTemp3==m_sCurrentDoorName )
- {
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.bDoorIsSet[3] = true;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nOperterType=OPERATE_JustTime;
- break;
- }
- else if( sTemp4==m_sCurrentDoorName )
- {
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.bDoorIsSet[4] = true;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nOperterType=OPERATE_JustTime;
- break;
- }
- else if( sTemp5==m_sCurrentDoorName )
- {
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.bDoorIsSet[5] = true;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nOperterType=OPERATE_JustTime;
- break;
- }
- else if( sTemp6==m_sCurrentDoorName )
- {
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.bDoorIsSet[6] = true;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nOperterType=OPERATE_JustTime;
- break;
- }
- else if( sTemp7==m_sCurrentDoorName )
- {
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.bDoorIsSet[7] = true;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nOperterType=OPERATE_JustTime;
- break;
- }
- else if( sTemp8==m_sCurrentDoorName )
- {
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.bDoorIsSet[8] = true;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nOperterType=OPERATE_JustTime;
- break;
- }
- }
- }
- }
- }
- void CDlg_Moniter::OnDoorDooropendelaytime()
- {
- int INDEX=0;
- CDlg_SetDoor Dlg_SetDoor;
- for( int i=0;i<CONCTROLLER_NUM_MAX;i++ )
- {
- if( g_pDlgMain->m_pThread_Controller[i] )
- {
- if( !g_pDlgMain->m_pThread_Controller[i]->m_bExitFinish )
- {
- CString sTemp1,sTemp2,sTemp3,sTemp4,sTemp5,sTemp6,sTemp7,sTemp8;
- sTemp1.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[1] );
- sTemp2.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[2] );
- sTemp3.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[3] );
- sTemp4.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[4] );
- sTemp5.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[5] );
- sTemp6.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[6] );
- sTemp7.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[7] );
- sTemp8.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[8] );
- if( sTemp1==m_sCurrentDoorName )
- {
- INDEX = 1;
- Dlg_SetDoor.m_nComb_ControlType = g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorControlType[INDEX]-1;
- Dlg_SetDoor.m_nComb_OpenDelayTime = g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorDelayTime[INDEX];
- if( Dlg_SetDoor.DoModal()==IDOK )
- {
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorDelayTime[INDEX] = Dlg_SetDoor.m_nComb_OpenDelayTime;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorControlType[INDEX] = Dlg_SetDoor.m_nComb_ControlType+1;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.bDoorIsSet[INDEX] = true;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nOperterType=OPERATE_ControlAndDelayTime;
- }
- break;
- }
- else if( sTemp2==m_sCurrentDoorName )
- {
- INDEX = 2;
- Dlg_SetDoor.m_nComb_ControlType = g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorControlType[INDEX]-1;
- Dlg_SetDoor.m_nComb_OpenDelayTime = g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorDelayTime[INDEX];
- if( Dlg_SetDoor.DoModal()==IDOK )
- {
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorDelayTime[INDEX] = Dlg_SetDoor.m_nComb_OpenDelayTime;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorControlType[INDEX] = Dlg_SetDoor.m_nComb_ControlType+1;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.bDoorIsSet[INDEX] = true;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nOperterType=OPERATE_ControlAndDelayTime;
- }
- break;
- }
- else if( sTemp3==m_sCurrentDoorName )
- {
- INDEX = 3;
- Dlg_SetDoor.m_nComb_ControlType = g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorControlType[INDEX]-1;
- Dlg_SetDoor.m_nComb_OpenDelayTime = g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorDelayTime[INDEX];
- if( Dlg_SetDoor.DoModal()==IDOK )
- {
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorDelayTime[INDEX] = Dlg_SetDoor.m_nComb_OpenDelayTime;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorControlType[INDEX] = Dlg_SetDoor.m_nComb_ControlType+1;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.bDoorIsSet[INDEX] = true;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nOperterType=OPERATE_ControlAndDelayTime;
- }
- break;
- }
- else if( sTemp4==m_sCurrentDoorName )
- {
- INDEX = 4;
- Dlg_SetDoor.m_nComb_ControlType = g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorControlType[INDEX]-1;
- Dlg_SetDoor.m_nComb_OpenDelayTime = g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorDelayTime[INDEX];
- if( Dlg_SetDoor.DoModal()==IDOK )
- {
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorDelayTime[INDEX] = Dlg_SetDoor.m_nComb_OpenDelayTime;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorControlType[INDEX] = Dlg_SetDoor.m_nComb_ControlType+1;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.bDoorIsSet[INDEX] = true;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nOperterType=OPERATE_ControlAndDelayTime;
- }
- break;
- }
- else if( sTemp5==m_sCurrentDoorName )
- {
- INDEX = 5;
- Dlg_SetDoor.m_nComb_ControlType = g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorControlType[INDEX]-1;
- Dlg_SetDoor.m_nComb_OpenDelayTime = g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorDelayTime[INDEX];
- if( Dlg_SetDoor.DoModal()==IDOK )
- {
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorDelayTime[INDEX] = Dlg_SetDoor.m_nComb_OpenDelayTime;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorControlType[INDEX] = Dlg_SetDoor.m_nComb_ControlType+1;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.bDoorIsSet[INDEX] = true;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nOperterType=OPERATE_ControlAndDelayTime;
- }
- break;
- }
- else if( sTemp6==m_sCurrentDoorName )
- {
- INDEX = 6;
- Dlg_SetDoor.m_nComb_ControlType = g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorControlType[INDEX]-1;
- Dlg_SetDoor.m_nComb_OpenDelayTime = g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorDelayTime[INDEX];
- if( Dlg_SetDoor.DoModal()==IDOK )
- {
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorDelayTime[INDEX] = Dlg_SetDoor.m_nComb_OpenDelayTime;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorControlType[INDEX] = Dlg_SetDoor.m_nComb_ControlType+1;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.bDoorIsSet[INDEX] = true;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nOperterType=OPERATE_ControlAndDelayTime;
- }
- break;
- }
- else if( sTemp7==m_sCurrentDoorName )
- {
- INDEX = 7;
- Dlg_SetDoor.m_nComb_ControlType = g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorControlType[INDEX]-1;
- Dlg_SetDoor.m_nComb_OpenDelayTime = g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorDelayTime[INDEX];
- if( Dlg_SetDoor.DoModal()==IDOK )
- {
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorDelayTime[INDEX] = Dlg_SetDoor.m_nComb_OpenDelayTime;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorControlType[INDEX] = Dlg_SetDoor.m_nComb_ControlType+1;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.bDoorIsSet[INDEX] = true;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nOperterType=OPERATE_ControlAndDelayTime;
- }
- break;
- }
- else if( sTemp8==m_sCurrentDoorName )
- {
- INDEX = 8;
- Dlg_SetDoor.m_nComb_ControlType = g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorControlType[INDEX]-1;
- Dlg_SetDoor.m_nComb_OpenDelayTime = g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorDelayTime[INDEX];
- if( Dlg_SetDoor.DoModal()==IDOK )
- {
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorDelayTime[INDEX] = Dlg_SetDoor.m_nComb_OpenDelayTime;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nDoorControlType[INDEX] = Dlg_SetDoor.m_nComb_ControlType+1;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.bDoorIsSet[INDEX] = true;
- g_pDlgMain->m_pThread_Controller[i]->m_Controller.nOperterType=OPERATE_ControlAndDelayTime;
- }
- break;
- }
- }
- }
- }
- }
- void CDlg_Moniter::OnDoorReconnect()
- {
- OnReconnect();
- }
- void CDlg_Moniter::OnReconnect()
- {
- for( int i=0;i<CONCTROLLER_NUM_MAX;i++ )
- {
- if( g_pDlgMain->m_pThread_Controller[i] )
- {
- CString sTemp1,sTemp2,sTemp3,sTemp4,sTemp5,sTemp6,sTemp7,sTemp8;
- sTemp1.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[1] );
- sTemp2.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[2] );
- sTemp3.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[3] );
- sTemp4.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[4] );
- sTemp5.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[5] );
- sTemp6.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[6] );
- sTemp7.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[7] );
- sTemp8.Format("%d-%s",g_pDlgMain->m_pThread_Controller[i]->m_Controller.nID,g_pDlgMain->m_pThread_Controller[i]->m_Controller.sDoorName[8] );
- if( sTemp1==m_sCurrentDoorName )
- {
- if( g_pDlgMain->m_pThread_Controller[i] )
- {
- g_pDlgMain->m_pThread_Controller[i]->StopThread();
- delete g_pDlgMain->m_pThread_Controller[i];
- g_pDlgMain->m_pThread_Controller[i] = NULL;
- }
- if( g_pDlgMain->m_pThread_Controller[i]==NULL )
- {
- g_pDlgMain->m_pThread_Controller[i] = new CThread_Controller( g_Controller[i] );
- g_pDlgMain->m_pThread_Controller[i]->StartThread();
- }
- break;
- }
- else if( sTemp2==m_sCurrentDoorName )
- {
- if( g_pDlgMain->m_pThread_Controller[i] )
- {
- g_pDlgMain->m_pThread_Controller[i]->StopThread();
- delete g_pDlgMain->m_pThread_Controller[i];
- g_pDlgMain->m_pThread_Controller[i] = NULL;
- }
- if( g_pDlgMain->m_pThread_Controller[i]==NULL )
- {
- g_pDlgMain->m_pThread_Controller[i] = new CThread_Controller( g_Controller[i] );
- g_pDlgMain->m_pThread_Controller[i]->StartThread();
- }
- break;
- }
- else if( sTemp3==m_sCurrentDoorName )
- {
- if( g_pDlgMain->m_pThread_Controller[i] )
- {
- g_pDlgMain->m_pThread_Controller[i]->StopThread();
- delete g_pDlgMain->m_pThread_Controller[i];
- g_pDlgMain->m_pThread_Controller[i] = NULL;
- }
- if( g_pDlgMain->m_pThread_Controller[i]==NULL )
- {
- g_pDlgMain->m_pThread_Controller[i] = new CThread_Controller( g_Controller[i] );
- g_pDlgMain->m_pThread_Controller[i]->StartThread();
- }
- break;
- }
- else if( sTemp4==m_sCurrentDoorName )
- {
- if( g_pDlgMain->m_pThread_Controller[i] )
- {
- g_pDlgMain->m_pThread_Controller[i]->StopThread();
- delete g_pDlgMain->m_pThread_Controller[i];
- g_pDlgMain->m_pThread_Controller[i] = NULL;
- }
- if( g_pDlgMain->m_pThread_Controller[i]==NULL )
- {
- g_pDlgMain->m_pThread_Controller[i] = new CThread_Controller( g_Controller[i] );
- g_pDlgMain->m_pThread_Controller[i]->StartThread();
- }
- break;
- }
- else if( sTemp5==m_sCurrentDoorName )
- {
- if( g_pDlgMain->m_pThread_Controller[i] )
- {
- g_pDlgMain->m_pThread_Controller[i]->StopThread();
- delete g_pDlgMain->m_pThread_Controller[i];
- g_pDlgMain->m_pThread_Controller[i] = NULL;
- }
- if( g_pDlgMain->m_pThread_Controller[i]==NULL )
- {
- g_pDlgMain->m_pThread_Controller[i] = new CThread_Controller( g_Controller[i] );
- g_pDlgMain->m_pThread_Controller[i]->StartThread();
- }
- break;
- }
- else if( sTemp6==m_sCurrentDoorName )
- {
- if( g_pDlgMain->m_pThread_Controller[i] )
- {
- g_pDlgMain->m_pThread_Controller[i]->StopThread();
- delete g_pDlgMain->m_pThread_Controller[i];
- g_pDlgMain->m_pThread_Controller[i] = NULL;
- }
- if( g_pDlgMain->m_pThread_Controller[i]==NULL )
- {
- g_pDlgMain->m_pThread_Controller[i] = new CThread_Controller( g_Controller[i] );
- g_pDlgMain->m_pThread_Controller[i]->StartThread();
- }
- break;
- }
- else if( sTemp7==m_sCurrentDoorName )
- {
- if( g_pDlgMain->m_pThread_Controller[i] )
- {
- g_pDlgMain->m_pThread_Controller[i]->StopThread();
- delete g_pDlgMain->m_pThread_Controller[i];
- g_pDlgMain->m_pThread_Controller[i] = NULL;
- }
- if( g_pDlgMain->m_pThread_Controller[i]==NULL )
- {
- g_pDlgMain->m_pThread_Controller[i] = new CThread_Controller( g_Controller[i] );
- g_pDlgMain->m_pThread_Controller[i]->StartThread();
- }
- break;
- }
- else if( sTemp8==m_sCurrentDoorName )
- {
- if( g_pDlgMain->m_pThread_Controller[i] )
- {
- g_pDlgMain->m_pThread_Controller[i]->StopThread();
- delete g_pDlgMain->m_pThread_Controller[i];
- g_pDlgMain->m_pThread_Controller[i] = NULL;
- }
- if( g_pDlgMain->m_pThread_Controller[i]==NULL )
- {
- g_pDlgMain->m_pThread_Controller[i] = new CThread_Controller( g_Controller[i] );
- g_pDlgMain->m_pThread_Controller[i]->StartThread();
- }
- break;
- }
- }
- }
- }
- void CDlg_Moniter::OnNMRclickListDoor(NMHDR *pNMHDR, LRESULT *pResult)
- {
- // TODO: 在此添加控件通知处理程序代码
- NMITEMACTIVATE * nmia = (NMITEMACTIVATE *) pNMHDR;
-
- POSITION pos = m_List_Door.GetFirstSelectedItemPosition();
- if ( pos==NULL )
- {
- CPoint pt;
- GetCursorPos( &pt );
- CMenu menu;
- menu.LoadMenu(IDR_MENU_DOOR);
- menu.GetSubMenu(2)->TrackPopupMenu(TPM_LEFTALIGN,pt.x,pt.y,this);
- return;
- }
- while (pos)
- {
- int nItem = m_List_Door.GetNextSelectedItem(pos);
- m_sCurrentDoorName = m_List_Door.GetItemText( nItem,0 );
- CPoint pt;
- GetCursorPos( &pt );
- if( g_FindDoorStatusByDoorName( m_sCurrentDoorName ) )
- {
- CMenu menu;
- menu.LoadMenu(IDR_MENU_DOOR);
- menu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN,pt.x,pt.y,this);
- }
- else
- {
- CMenu menu;
- menu.LoadMenu(IDR_MENU_DOOR);
- menu.GetSubMenu(1)->TrackPopupMenu(TPM_LEFTALIGN,pt.x,pt.y,this);
- }
- }
- *pResult = 0;
- }
- void CDlg_Moniter::OnNMDblclkListInfo(NMHDR *pNMHDR, LRESULT *pResult)
- {
- // TODO: 在此添加控件通知处理程序代码
- int iListCount = m_List_Info.GetItemCount();
- POSITION pos = m_List_Info.GetFirstSelectedItemPosition();
- int nListSel = m_List_Info.GetNextSelectedItem(pos);
- if(nListSel>=iListCount || nListSel==-1)
- {
- return;
- }
-
- CString sCardNumber,sUserName;
- sCardNumber = m_List_Info.GetItemText( nListSel,2 );
- sUserName = m_List_Info.GetItemText( nListSel,3 );
- if( sCardNumber.GetLength()>0 && sUserName.GetLength()<2 )
- {
- CDlg_CardProPerty dlg;
- dlg.m_nOperate = ADD;
- dlg.m_sEdit_CardNumber = sCardNumber.TrimLeft();
- if( dlg.DoModal()==IDOK )
- {
- CString sIndex;
- sIndex.Format("%d",dlg.m_nID );
- g_pDlgMain->m_pDlg_Card->m_List_Card.InsertItem( 0,sIndex );
- g_pDlgMain->m_pDlg_Card->m_List_Card.SetItemText( 0,1," "+dlg.m_sEdit_Name );
- g_pDlgMain->m_pDlg_Card->m_List_Card.SetItemText( 0,2," "+dlg.m_sEdit_CardNumber );
- g_pDlgMain->m_pDlg_Card->m_List_Card.SetItemText( 0,3," "+dlg.m_sEdit_Class );
- g_pDlgMain->m_pDlg_Card->m_List_Card.SetItemText( 0,4," "+dlg.m_sEdit_JobNumber );
- g_pDlgMain->m_pDlg_Card->m_List_Card.SetItemText( 0,5," "+dlg.m_sEdit_Remarks );
- for( int i=0;i<CARD_NUM_MAX;i++ )
- {
- if( g_Card[i].nID<0 )
- {
- g_Card[i].nID = dlg.m_nID;
- g_Card[i].sName = dlg.m_sEdit_Name;
- g_Card[i].nNumber = atoi( dlg.m_sEdit_CardNumber );
- g_Card[i].sClass = dlg.m_sEdit_Class;
- g_Card[i].sJobNumber = dlg.m_sEdit_JobNumber;
- g_Card[i].sRemarks = dlg.m_sEdit_Remarks;
- break;
- }
- }
- }
- }
- else
- {
- //CDlg_CardProPerty dlg;
- //dlg.m_nOperate = EDIT;
- //dlg.m_nID = atoi( str );
- //if( dlg.DoModal()==IDOK )
- //{
- // g_pDlgMain->m_pDlg_Card->m_List_Card.SetItemText( nListSel,1," "+dlg.m_sEdit_Name );
- // g_pDlgMain->m_pDlg_Card->m_List_Card.SetItemText( nListSel,2," "+dlg.m_sEdit_CardNumber );
- // g_pDlgMain->m_pDlg_Card->m_List_Card.SetItemText( nListSel,3," "+dlg.m_sEdit_Class );
- // g_pDlgMain->m_pDlg_Card->m_List_Card.SetItemText( nListSel,4," "+dlg.m_sEdit_JobNumber );
- // g_pDlgMain->m_pDlg_Card->m_List_Card.SetItemText( nListSel,5," "+dlg.m_sEdit_Remarks );
- //}
- }
- *pResult = 0;
- }
- void CDlg_Moniter::OnMenuClearlist()
- {
- m_List_Info.DeleteAllItems();
- }
- void CDlg_Moniter::OnNMRclickListInfo(NMHDR *pNMHDR, LRESULT *pResult)
- {
- // TODO: 在此添加控件通知处理程序代码
- if( m_List_Info.GetItemCount()==0 )
- return;
- CPoint pt;
- GetCursorPos( &pt );
- CMenu menu;
- menu.LoadMenu(IDR_MENU_DOOR);
- menu.GetSubMenu(3)->TrackPopupMenu(TPM_LEFTALIGN,pt.x-40,pt.y-10,this);
- *pResult = 0;
- }
|