⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 newclientdlg.cpp

📁 SDK DVR/DVS HIKVISION
💻 CPP
📖 第 1 页 / 共 5 页
字号:
		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 + -