📄 pictureshow.cpp
字号:
pPicS[i]->strFile = strFile ;
pPicS[i]->name = DlgStr[i].name ;
switch(DlgStr[i].picnum)
{
case 1:strcpy(pPicS[i]->pPicString,strFile) ;
strcat(pPicS[i]->pPicString,addrstr1) ;
break ;
case 2:strcpy(pPicS[i]->pPicString,strFile) ;
strcat(pPicS[i]->pPicString,addrstr2) ;
break ;
case 3:strcpy(pPicS[i]->pPicString,strFile) ;
strcat(pPicS[i]->pPicString,addrstr3) ;
break ;
default:
break ;
}
pPicS[i]->MoveWindow(DlgStr[i].pointx,DlgStr[i].pointy,18,19) ;
}
fclose(fp);
SetTimer(1,500,NULL) ;
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CPictureShow::OnDeleteAll(WPARAM wParam, LPARAM lParam)
{
// CString str = lpstrFile ;
CString str = (char*)lParam ;
for(int i=0;i<x;i++)
{
if(DlgStr[i].mapaddr == str)
{
if(x>0)
{
DlgStr[i].picnum = DlgStr[x-1].picnum;
DlgStr[i].pointx = DlgStr[x-1].pointx ;
DlgStr[i].pointy = DlgStr[x-1].pointy ;
DlgStr[i].ipAddr = DlgStr[x-1].ipAddr ;
DlgStr[i].channelNo = DlgStr[x-1].channelNo ;
DlgStr[i].portNo = DlgStr[x-1].portNo ;
memcpy(DlgStr[i].name,DlgStr[x-1].name,50) ;
memcpy(DlgStr[i].mapaddr,DlgStr[x-1].mapaddr,200) ;
DlgStr[x-1].picnum = NULL ;
DlgStr[x-1].pointx = NULL ;
DlgStr[x-1].pointy = NULL ;
DlgStr[x-1].ipAddr = NULL ;
DlgStr[x-1].channelNo =NULL ;
DlgStr[x-1].portNo =NULL ;
memset(DlgStr[x-1].name,0,50) ;
memset(DlgStr[x-1].mapaddr,0,200) ;
pPicS[x-1]->DestroyWindow() ;
delete pPicS[x-1] ;
pPicS[x-1] = NULL ;
x-- ;
i-- ;
}
}
}
}
BOOL CPictureShow::OnAlarm(ULONG ip,int channel,int type,int port,int style)
{
for(int i=0;i<x;i++)
{
if (DlgStr[i].ipAddr == ip &&
DlgStr[i].channelNo == channel &&
DlgStr[i].picnum == type &&
DlgStr[i].portNo == port)
{
strcpy(pPicS[i]->pPicString,strFile) ;
switch(type)
{
case 1: switch(style){
case msg_pc_sensor: pPicS[i]->bSensor = TRUE ;
break ;
case msg_pc_sensor1: pPicS[i]->bSensor = FALSE ;
break ;
case msg_pc_motion: pPicS[i]->bMotion = TRUE ;
break ;
case msg_pc_motion1: pPicS[i]->bMotion = FALSE ;
break ;
case msg_pc_vlost: pPicS[i]->bVlost = TRUE ;
break ;
case msg_pc_vlost1: pPicS[i]->bVlost = FALSE ;
break ;
}
break ;
//////////////////////////
case 2: switch (style){
case msg_nomal: pPicS[i]->bRecord = FALSE ;
break ;
case msg_record: pPicS[i]->bRecord = TRUE ;
break ;
case msg_motion: pPicS[i]->bMotion = TRUE ;
GetParent()->SendMessage(WM_MY_ALARM,0,(DWORD)DlgStr[i].mapaddr) ;
GetParent()->SendMessage(WM_MY_SHOW,0,(DWORD)DlgStr[i].mapaddr) ;
break ;
case msg_motion1:pPicS[i]->bMotion = FALSE ;
break ;
case msg_vlost: pPicS[i]->bVlost = TRUE ;
GetParent()->SendMessage(WM_MY_ALARM,0,(DWORD)DlgStr[i].mapaddr) ;
GetParent()->SendMessage(WM_MY_SHOW,0,(DWORD)DlgStr[i].mapaddr) ;
break ;
case msg_vlost1: pPicS[i]->bVlost = FALSE ;
break ;
}
break ;
///////////////////////////////////
case 3: switch (style){
case msg_sensor: pPicS[i]->bSensor = TRUE ;
GetParent()->SendMessage(WM_MY_ALARM,0,(DWORD)DlgStr[i].mapaddr) ;
GetParent()->SendMessage(WM_MY_SHOW,0,(DWORD)DlgStr[i].mapaddr) ;
break ;
case msg_sensor1: pPicS[i]->bSensor = FALSE ;
break ;
}
break ;
}
return TRUE ;
}
}
return FALSE ;
}
void CPictureShow::OnAlarmSENSOR(WPARAM wParam, LPARAM lParam)
{
ULONG * ipport = (ULONG *) wParam;
ULONG ipaddr = ipport[0] ;
USHORT port = ipport[1] ;
DWORD m_word = lParam ;
for (int i=0;i<16;i++)
{
if (m_word & (1<<i))
{
OnAlarm(ipaddr,i+1,3,port,msg_sensor) ;
}
else
{
OnAlarm(ipaddr,i+1,3,port,msg_sensor1) ;
}
}
if (m_word == 0 )
{
OnAlarm(ipaddr,0,1,port,msg_pc_sensor1) ;
}
else
{
OnAlarm(ipaddr,0,1,port,msg_pc_sensor) ;
}
}
void CPictureShow::OnAlarmMOTION(WPARAM wParam, LPARAM lParam)
{
ULONG * ipport = (ULONG *) wParam;
ULONG ipaddr = ipport[0] ;
USHORT port = ipport[1] ;
DWORD m_word = lParam ;
for (int i=0;i<16;i++)
{
if (m_word & (1<<i))
{
OnAlarm(ipaddr,i+1,2,port,msg_motion) ;
// OnAlarm(ipaddr,32-i,1) ;
}
else
{
OnAlarm(ipaddr,i+1,2,port,msg_motion1) ;
}
}
if (m_word == 0 )
{
OnAlarm(ipaddr,0,1,port,msg_pc_motion1) ;
}
else
{
OnAlarm(ipaddr,0,1,port,msg_pc_motion) ;
}
}
void CPictureShow::OnAlarmVLOST(WPARAM wParam, LPARAM lParam)
{
ULONG * ipport = (ULONG *) wParam;
ULONG ipaddr = ipport[0] ;
USHORT port = ipport[1] ;
DWORD m_word = lParam ;
for (int i=0;i<16;i++)
{
if (m_word & (1<<i))
{
OnAlarm(ipaddr,i+1,2,port,msg_vlost) ;
// OnAlarm(ipaddr,32-i,1) ;
}
else
{
OnAlarm(ipaddr,i+1,2,port,msg_vlost1) ;
}
}
if (m_word == 0 )
{
OnAlarm(ipaddr,0,1,port,msg_pc_vlost1) ;
}
else
{
OnAlarm(ipaddr,0,1,port,msg_pc_vlost) ;
}
}
void CPictureShow::OnAlarmRECORD(WPARAM wParam, LPARAM lParam)
{
ULONG * ipport = (ULONG *) wParam;
ULONG ipaddr = ipport[0] ;
USHORT port = ipport[1] ;
DWORD m_word = lParam ;
for (int i=0;i<16 ;i++)
{
if (m_word & (1<<i))
{
OnAlarm(ipaddr,i+1,2,port,msg_record) ;
}
else
{
OnAlarm(ipaddr,i+1,2,port,msg_nomal) ;
}
}
}
void CPictureShow::OnTimer(UINT nIDEvent)
{
for (int i=0;i<x;i++)
{
if(!pPicS[i]) continue;
switch (pPicS[i]->type){
case 1:if(pPicS[i]->bMotion || pPicS[i]->bSensor || pPicS[i]->bVlost)
{
if (pPicS[i]->pPicString == addrstr1)
{
strcpy(pPicS[i]->pPicString,addrstr5) ;
pPicS[i]->SendMessage(WM_PAINT,0,0) ;
}
else
{
strcpy(pPicS[i]->pPicString,addrstr1) ;
pPicS[i]->SendMessage(WM_PAINT,0,0) ;
}
}
else
{
if(addrstr1 !=pPicS[i]->pPicString)
{
strcpy(pPicS[i]->pPicString,addrstr1) ;
pPicS[i]->SendMessage(WM_PAINT,0,0) ;
}
}
break ;
case 2:if(pPicS[i]->bRecord == FALSE &&
pPicS[i]->bMotion == FALSE &&
pPicS[i]->bVlost == FALSE)
{
if(addrstr2 !=pPicS[i]->pPicString)
{
strcpy(pPicS[i]->pPicString,addrstr2) ;
pPicS[i]->SendMessage(WM_PAINT,0,0) ;
}
}
else if(pPicS[i]->bRecord == TRUE &&
pPicS[i]->bMotion == FALSE &&
pPicS[i]->bVlost == FALSE)
{
if(addrstr4 !=pPicS[i]->pPicString)
{
strcpy(pPicS[i]->pPicString,addrstr4) ;
pPicS[i]->SendMessage(WM_PAINT,0,0) ;
}
}
else if(pPicS[i]->bRecord == FALSE &&
pPicS[i]->bMotion == TRUE &&
pPicS[i]->bVlost == FALSE)
{
if (pPicS[i]->pPicString == addrstr2){
strcpy(pPicS[i]->pPicString,addrstr7) ;
pPicS[i]->SendMessage(WM_PAINT,0,0) ;
}
else{
strcpy(pPicS[i]->pPicString,addrstr2) ;
pPicS[i]->SendMessage(WM_PAINT,0,0) ;
}
}
else if (pPicS[i]->bRecord == TRUE &&
pPicS[i]->bMotion == TRUE &&
pPicS[i]->bVlost == FALSE)
{
if (pPicS[i]->pPicString == addrstr4){
strcpy(pPicS[i]->pPicString,addrstr7) ;
pPicS[i]->SendMessage(WM_PAINT,0,0) ;
}
else{
strcpy(pPicS[i]->pPicString,addrstr4) ;
pPicS[i]->SendMessage(WM_PAINT,0,0) ;
}
}
else if (pPicS[i]->bRecord == FALSE &&
pPicS[i]->bMotion == FALSE &&
pPicS[i]->bVlost == TRUE)
{
if (pPicS[i]->pPicString == addrstr2){
strcpy(pPicS[i]->pPicString,addrstr8) ;
pPicS[i]->SendMessage(WM_PAINT,0,0) ;
}
else{
strcpy(pPicS[i]->pPicString,addrstr2) ;
pPicS[i]->SendMessage(WM_PAINT,0,0) ;
}
}
else if (pPicS[i]->bRecord == TRUE &&
pPicS[i]->bMotion == FALSE &&
pPicS[i]->bVlost == TRUE)
{
if (pPicS[i]->pPicString == addrstr4){
strcpy(pPicS[i]->pPicString,addrstr8) ;
pPicS[i]->SendMessage(WM_PAINT,0,0) ;
}
else{
strcpy(pPicS[i]->pPicString,addrstr4) ;
pPicS[i]->SendMessage(WM_PAINT,0,0) ;
}
}
else if (pPicS[i]->bMotion == TRUE &&
pPicS[i]->bVlost == TRUE)
{
if (pPicS[i]->pPicString == addrstr7){
strcpy(pPicS[i]->pPicString,addrstr8) ;
pPicS[i]->SendMessage(WM_PAINT,0,0) ;
}
else{
strcpy(pPicS[i]->pPicString,addrstr7) ;
pPicS[i]->SendMessage(WM_PAINT,0,0) ;
}
}
break ;
case 3: if(pPicS[i]->bSensor)
{
if (pPicS[i]->pPicString == addrstr3)
{
strcpy(pPicS[i]->pPicString,addrstr6) ;
pPicS[i]->SendMessage(WM_PAINT,0,0) ;
}
else
{
strcpy(pPicS[i]->pPicString,addrstr3) ;
pPicS[i]->SendMessage(WM_PAINT,0,0) ;
}
}
else
{
if(addrstr3 !=pPicS[i]->pPicString)
{
strcpy(pPicS[i]->pPicString,addrstr3) ;
pPicS[i]->SendMessage(WM_PAINT,0,0) ;
}
}
break ;
}
}
}
void CPictureShow::OnMove(WPARAM wParam, LPARAM lParam)
{
movNo = int(wParam) ;
}
void CPictureShow::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
if(movNo>=0 && movNo<300)
{
if(pPicS[movNo]->bMove)
{
SetFocus();
ClientToScreen(&point);
CPoint pt(0, 0);
::GetCursorPos(&pt);
ScreenToClient (&pt);
DlgStr[movNo].pointx = pt.x-8 ;
DlgStr[movNo].pointy = pt.y-8 ;
pPicS[movNo]->MoveWindow(pt.x-8,pt.y-8,19,19) ;
}
}
CDialog::OnMouseMove(nFlags, point);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -