📄 newclientdlg.cpp
字号:
GetDlgItem(IDC_LED11)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_LED12)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_LED13)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_LED14)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_LED15)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_LED16)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_ALARMLED1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_ALARMLED2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_ALARMLED3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_ALARMLED4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_ALARMLED5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_ALARMLED6)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_ALARMLED7)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_ALARMLED8)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_ALARMLED9)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_ALARMLED10)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_ALARMLED11)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_ALARMLED12)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_ALARMLED13)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_ALARMLED14)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_ALARMLED15)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_ALARMLED16)->ShowWindow(SW_HIDE);
//2006-01-11
GetDlgItem(IDC_STATIC0)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC6)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC7)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC8)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC9)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC10)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC11)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC12)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC13)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC14)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC15)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC16)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC17)->ShowWindow(SW_HIDE);
}
}
void CNewclientDlg::F_ShowVideoParams()
{
m_ld.SetPos(ClientParam.m_VideoInfo[iActiveWndNumber].m_iBrightness);
m_sd.SetPos(ClientParam.m_VideoInfo[iActiveWndNumber].m_iHue);
m_bhd.SetPos(ClientParam.m_VideoInfo[iActiveWndNumber].m_iSaturation);
m_dbd.SetPos(ClientParam.m_VideoInfo[iActiveWndNumber].m_iContrast);
m_yl.SetPos(ClientParam.m_Volume);
}
void CNewclientDlg::F_NextPage()
{
int itemp,i;
itemp = numberpos % WINDOWNUM;
if ((itemp > 0) || (numberpos == iSurveillanceNumber))
return;
for(i = 0; i < MAXVIEWNUM; i++)
{
if( (myoutput[i].m_iPlayhandle >= 0) || (myoutput[i].m_bFileSave) )
F_StopClientRecord(i);
}
if( (ClientParam.m_bEnlarged) || (ClientParam.m_bFullScreen) )
{
ArrayWindow(0, WINDOWNUM);
MoveCurWin(WINDOWNUM,0);
ClientParam.m_bEnlarged = FALSE;
ClientParam.m_bFullScreen = FALSE;
}
itemp = iSurveillanceNumber - numberpos;
if(itemp > WINDOWNUM)
itemp = WINDOWNUM;
if(!ClientParam.m_bUseCard)
{
if(!g_bShareSound)
NET_DVR_CloseSound();
}
for(i=0;i<WINDOWNUM;i++)
{
if(g_bShareSound)
NET_DVR_CloseSoundShare(myoutput[i].m_iPlayhandle);
myoutput[i].StopNet();
}
for(i=0;i<itemp;i++)
{
if (i+numberpos < MAXNUMBER)
{
if(ClientParam.m_bUseCard)
myoutput[i].StartCard(&selipinfo[i+numberpos]);
else
{
myoutput[i].StartNet(&selipinfo[i+numberpos]);
if(g_bShareSound && (myoutput[i].m_iPlayhandle >= 0))
{
ClientParam.m_bPlaySound[i] = TRUE;
}
}
Sleep(100);
}
}
itemp = iSurveillanceNumber - numberpos;
if(itemp <= WINDOWNUM)
{
numberpos = iSurveillanceNumber;
ClientParam.m_bNextPage = FALSE;
}
else
{
numberpos += WINDOWNUM;
}
ClientParam.m_bFrontPage = TRUE;
UpdateData(FALSE);
}
void CNewclientDlg::F_FrontPage()
{
int itemp,i;
if(numberpos <= WINDOWNUM)
return;
for(i = 0; i < MAXVIEWNUM; i++)
{
if( (myoutput[i].m_iPlayhandle >= 0) || (myoutput[i].m_bFileSave) )
F_StopClientRecord(i);
}
if( (ClientParam.m_bEnlarged) || (ClientParam.m_bFullScreen) )
{
ArrayWindow(0, WINDOWNUM);
MoveCurWin(WINDOWNUM,0);
ClientParam.m_bEnlarged = FALSE;
ClientParam.m_bFullScreen = FALSE;
}
if(numberpos > WINDOWNUM)
{
if(numberpos < 2*WINDOWNUM)
{
itemp = 0;
}
else
{
i = numberpos % WINDOWNUM;
if (i == 0)
itemp = numberpos - 2*WINDOWNUM ;
else
itemp = numberpos - WINDOWNUM -i;
}
if(!ClientParam.m_bUseCard)
{
if(!g_bShareSound)
NET_DVR_CloseSound();
}
//
for(i=0;i<WINDOWNUM;i++)
{
if(g_bShareSound)
NET_DVR_CloseSoundShare(myoutput[i].m_iPlayhandle);
myoutput[i].StopNet();
}
for(i=0;i<WINDOWNUM;i++)
{
if(itemp+i < MAXNUMBER)
{
if(ClientParam.m_bUseCard)
myoutput[i].StartCard(&selipinfo[i+itemp]);
else
{
myoutput[i].StartNet(&selipinfo[i+itemp]);
if(g_bShareSound && (myoutput[i].m_iPlayhandle >= 0))
{
ClientParam.m_bPlaySound[i] = TRUE;
}
}
Sleep(100);
}
}
if (numberpos <= 2*WINDOWNUM)
{
numberpos = WINDOWNUM;
ClientParam.m_bFrontPage = FALSE; //
}
else
{
i = numberpos % WINDOWNUM;
if(i == 0)
numberpos -= WINDOWNUM;
else
numberpos -= i;
}
}
ClientParam.m_bNextPage = TRUE;
UpdateData(FALSE);
}
void CNewclientDlg::F_CyclePause()
{
if(!ClientParam.m_bPaused)
{
ClientParam.m_bPaused = TRUE;
if(cycletimer)
{
KillTimer(CYCLE_TIMER);
cycletimer = 0;
}
}
else
{
m_bChangePage = TRUE;
F_CyclePlay();
if(cycletimer == 0)
cycletimer = SetTimer(CYCLE_TIMER,ClientParam.m_iCycleTime*1000+3000,NULL);
ClientParam.m_bPaused = FALSE;
}
}
void CNewclientDlg::F_CyclePlay()
{
int itemp,i,j;
TRACE("F_CyclePlay");
if (iSurveillanceNumber <= WINDOWNUM)
return;
m_bChangePage = FALSE;
if( (ClientParam.m_bEnlarged) || (ClientParam.m_bFullScreen) )
{
if(ClientParam.m_bFullScreen)
{
F_EndFullScreen();
}
ArrayWindow(0, WINDOWNUM); //
MoveCurWin(WINDOWNUM,0);
ClientParam.m_bEnlarged = FALSE;
ClientParam.m_bFullScreen = FALSE;
}
if (iSurveillanceNumber == numberpos) //
itemp = WINDOWNUM;
else
{
itemp = iSurveillanceNumber - numberpos;
if (itemp > WINDOWNUM)
itemp = WINDOWNUM;
}
if (iSurveillanceNumber == numberpos)
j = 0;
else
j = numberpos;
if(!ClientParam.m_bUseCard)
{
if(!g_bShareSound)
NET_DVR_CloseSound();
}
for(i=0;i<WINDOWNUM;i++)
{
// TRACE("cycle stopplay %d", myoutput[i].m_iPlayhandle);
if(g_bShareSound)
NET_DVR_CloseSoundShare(myoutput[i].m_iPlayhandle);
myoutput[i].StopNet();
// TRACE("StopNet");
}
for(i=0;i<itemp;i++)
{
if (i+j < MAXNUMBER)
{
// TRACE("play sel = %d", i+j);
if(ClientParam.m_bUseCard)
myoutput[i].StartCard(&selipinfo[i+j]);
else
{
myoutput[i].StartNet(&selipinfo[i+j]);
if(g_bShareSound && (myoutput[i].m_iPlayhandle >= 0))
{
ClientParam.m_bPlaySound[i] = TRUE;
}
}
Sleep(100);
// TRACE("cycle startplay %d", myoutput[i].m_iPlayhandle);
}
}
// MyInvalidate();
itemp = iSurveillanceNumber - numberpos;
if(itemp ==0)
{
numberpos = WINDOWNUM;
}
else if(itemp <= WINDOWNUM)
{
numberpos = iSurveillanceNumber;
}
else
{
numberpos += WINDOWNUM;
}
m_bChangePage = TRUE;
UpdateData(FALSE);
}
void CNewclientDlg::OnGetpicture()
{
// TODO: Add your control notification handler code here
RECT rc,rc2;
GetClientRect(&rc);
if (!getpic.IsExisted())
{
getpic.Create(IDD_DLG_CAPTURE, NULL);
}
::GetClientRect(getpic.m_hWnd, &rc2);
::SetWindowPos(getpic.m_hWnd, wndTopMost, (rc.left+rc.right)/2, (rc.top+rc.bottom)/2, (rc2.right-rc2.left)+8, (rc2.bottom-rc2.top)+30, SWP_SHOWWINDOW);
getpic.ShowWindow(SW_SHOW);
}
void CNewclientDlg::OnRecord()
{
// TODO: Add your control notification handler code here
int i = iActiveWndNumber;
if(myoutput[i].m_bIsAutoSave || ClientParam.m_bCycling)
return;
if( (myoutput[i].m_iPlayhandle >= 0) && (!myoutput[i].m_bFileSave) )
{
//AfxMessageBox("111");
if(F_MakeDir())
F_StartClientRecord(i);
}
else if(myoutput[i].m_bFileSave)
F_StopClientRecord(i);
}
BOOL CNewclientDlg::F_MakeDir()
{
CString sTemp;
DWORD dirattr;
CTime time;
time = CTime::GetCurrentTime();
sTemp.Format("%c:\\mpeg4record\\", m_cCurrentRecordDriver);
dirattr = GetFileAttributes(sTemp);
if(dirattr == FILE_ATTRIBUTE_DIRECTORY)
{
sTemp.Format("%c:\\mpeg4record\\%4d-%02d-%02d\\", m_cCurrentRecordDriver, time.GetYear(), time.GetMonth(), time.GetDay());
dirattr=GetFileAttributes(sTemp);
if(dirattr == FILE_ATTRIBUTE_DIRECTORY)
{
ClientParam.m_csClientRecordPath.Format("%s",sTemp);
TRACE("The directory %s has been created already.", sTemp);
return TRUE;
}
else
{
if(!CreateDirectory(sTemp, NULL))
{
AfxMessageBox("Create the directory failed!");
return FALSE;
}
else
{
ClientParam.m_csClientRecordPath.Format("%s",sTemp);
TRACE("Create sub directory %4d-%02d-%02d under the directory %c:\\mpeg4record", time.GetYear(), time.GetMonth(), time.GetDay(), m_cCurrentRecordDriver);
return TRUE;
}
}
}
if(!CreateDirectory(sTemp, NULL))
{
TRACE("Create mpeg4record directory failed!");
return FALSE;
}
sTemp.Format("%c:\\mpeg4record\\%4d-%02d-%02d\\",m_cCurrentRecordDriver, time.GetYear(), time.GetMonth(), time.GetDay());
if(!CreateDirectory(sTemp, NULL))
{
return FALSE;
}
ClientParam.m_csClientRecordPath.Format("%s",sTemp);
TRACE("First create directory %c:\\mpeg4record, then create sub directory %4d-%02d-%02d", m_cCurrentRecordDriver, time.GetYear(), time.GetMonth(), time.GetDay());
return TRUE;
}
void CNewclientDlg::F_StartClientRecord(int iRecordWndIndex)
{
int i;
char cFilename[256];
i = iRecordWndIndex;
TRACE("Start myoutput[%d] Client Record", i);
CTime time = CTime::GetCurrentTime();
sprintf(cFilename, "%s%s_%02d_%4d%02d%02d_%02d%02d%02d.mp4", ClientParam.m_csClientRecordPath, myoutput[i].m_csIP, myoutput[i].m_iChannel, \
time.GetYear(), time.GetMonth(), time.GetDay(), time.GetHour(), time.GetMinute(), time.GetSecond() );
if(!NET_DVR_SaveRealData(myoutput[i].m_iPlayhandle, cFilename))
{
AfxMessageBox("Record failed!");
return;
}
TRACE("Client Record Filename = %s", cFilename);
myoutput[i].m_lChangeFileNameTime = time.GetTime() + ClientParam.m_iRecordFileInterval * 60;
myoutput[i].m_bFileSave = TRUE;
m_pCapLed[i]->SetLed(CLed::LED_COLOR_RED,CLed::LED_ON,CLed::LED_ROUND);
}
void CNewclientDlg::F_StopClientRecord(int iRecordWndIndex)
{
int i;
i = iRecordWndIndex;
TRACE("Stop myoutput[%d] Client Record", i);
NET_DVR_StopSaveRealData(myoutput[i].m_iPlayhandle);
myoutput[i].m_bFileSave = FALSE;
m_pCapLed[i]->SetLed(CLed::LED_COLOR_RED,CLed::LED_DISABLED,CLed::LED_ROUND);
}
/*
void CNewclientDlg::OnHide()
{
// TODO: Add your control notification handler code here
ShowWindow(SW_MINIMIZE);
}
*/
void CNewclientDlg::OnEventlist()
{
// TODO: Add your control notification handler code here
int i;
CEventLog EventLogDlg;
EventLogDlg.DoModal();
SetEvent(hVideoBeeper);
for(i = 0; i < MAXVIEWNUM; i++)
{
if(ClientParam.m_iAlarmHandle[i] >= 0)
{
m_pAlarmLed[i]->SetLed(CLed::LED_COLOR_GREEN,CLed::LED_ON,CLed::LED_ROUND);
}
else
m_pAlarmLed[i]->SetLed(CLed::LED_COLOR_RED,CLed::LED_DISABLED,CLed::LED_ROUND);
}
for(i = 0; i < MAXALARMIN; i++)
{
alarminfo[i].m_csIP.Format(_T(""));
alarminfo[i].m_csUsername.Format(_T(""));
alarminfo[i].m_csPassword.Format(_T(""));
alarminfo[i]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -