newclientdlg.cpp

来自「SDK DVR/DVS HIKVISION」· C++ 代码 · 共 2,307 行 · 第 1/5 页

CPP
2,307
字号
	}
	
	if(channelcount==1)
	{
		WINDOWNUM=1;
		m_windownum.SetCurSel(0); 
	}
	else if (channelcount<=4)
	{
		WINDOWNUM=4;
		m_windownum.SetCurSel(1);
	}
	else if(channelcount<=9)
	{
		WINDOWNUM = 9;
		m_windownum.SetCurSel(2);
	}
	else
	{
		m_windownum.SetCurSel(3);
		WINDOWNUM = 16;
	}
	
}


void CNewclientDlg::OnAudioexchange() 
{
	// TODO: Add your control notification handler code here
	if(lVoiceIndex == -1)
	{
		CVoiceExchange VoiceDlg;
		VoiceDlg.DoModal();
		if(lVoiceIndex != -1)
		{	
			GetDlgItem(IDC_AUDIOEXCHANGE)->SetWindowText("Stop Dialogue");
		}
	}
	else
	{	
		if(NET_DVR_StopVoiceCom(lVoiceIndex))
		{
			GetDlgItem(IDC_AUDIOEXCHANGE)->SetWindowText("Dialogue");
			lVoiceIndex = -1;			
		}
		else
		{
			AfxMessageBox("Stop dialogue failed!");
		}
	}	
}

void CNewclientDlg::OnSystemcfg()  
{
	// TODO: Add your control notification handler code here
	CSystemConfig	SysCfgDlg;
	SysCfgDlg.DoModal();

	if(nUseCard == 1)
	{
		channelcount = 0;
		F_InitDecodeCard();
		ArrayWindow(0,WINDOWNUM);
		MoveCurWin(WINDOWNUM,0);
		nUseCard = 0;
	}
	if(nUseCard == 2)
	{
		NET_DVR_ReleaseDevice_Card();
		NET_DVR_ReleaseDDraw_Card();
		nUseCard = 0;
	}
	if(ClientParam.m_bCheckServerTime)
	{
		if(checkservertimer == 0)
		{
			TRACE("Start check DVR timer, check time is %06d every day.", ClientParam.m_iCheckServerTime);
			checkservertimer = SetTimer(CHECKSERVER_TIMER, 1000, NULL);
		}
	}
	else
	{
		if(checkservertimer)
		{
//			TRACE("Close timer");
			KillTimer(CHECKSERVER_TIMER);
			checkservertimer = 0;
		}
	}
	F_JudgeDiskFull();
}

void CNewclientDlg::OnSelchangeCombowndnum() 
{
	// TODO: Add your control notification handler code here
	int i;
	WORD	wndnum;
	i = m_windownum.GetCurSel();
	switch(i)
	{
	case 0:
		wndnum = 1;
		break;
	case 1:
		wndnum = 4;
		break;
	case 2:
		wndnum = 9;
		break;
	case 3:
		wndnum = 16;
		break;
	default:
		break;
	}
	if(WINDOWNUM != wndnum)
	{
		WINDOWNUM = wndnum;
		if(ClientParam.m_bCycling)
		{
			AfxMessageBox("Please stop cycle play!");
			return;
		}
		if(ClientParam.m_bPlaying)
		{
			TRACE("Stop Play");
			F_StopPlay();
			OnVideonetplay();
		}

		ArrayWindow(0, WINDOWNUM);
		MoveCurWin(WINDOWNUM,0);
	
	}
}

void CNewclientDlg::F_StopPlay()
{
	int i;
	
	if(cycletimer)
	{
		KillTimer(CYCLE_TIMER);
		cycletimer = 0;
	}
	if(!ClientParam.m_bUseCard)
	{
		if(!g_bShareSound)
			NET_DVR_CloseSound();
	}
	
	for(i = 0; i < MAXVIEWNUM; i++)
	{
		if(myoutput[i].m_bFileSave)
			F_StopClientRecord(i);
		if(g_bShareSound)
			NET_DVR_CloseSoundShare(myoutput[i].m_iPlayhandle);
		myoutput[i].StopNet();
	}
#if (WINVER > 0x0400)
	NET_DVR_ReleaseDDrawDevice();
#endif
	GetDlgItem(IDC_PLAY)->SetWindowText("Preview");
	numberpos = 0;				
	if( (ClientParam.m_bEnlarged) || (ClientParam.m_bFullScreen) )
	{
		ArrayWindow(0, WINDOWNUM);
		MoveCurWin(WINDOWNUM,0);
	} 
	
	ClientParam.m_bPlaying = FALSE;
	ClientParam.m_bCycling = FALSE;
	ClientParam.m_bPaused = FALSE;
	ClientParam.m_bNextPage = FALSE;
	ClientParam.m_bFrontPage = FALSE;
	GetDlgItem(IDC_COMBOWNDNUM)->EnableWindow(TRUE);
}

void CNewclientDlg::OnVideonetplay() 
{
	// TODO: Add your control notification handler code here
	int itemp,i;
	
	UpdateData(TRUE);
	
	if(iSurveillanceNumber == 0)
		return;
	if(ClientParam.m_bPlaying)
	{
		TRACE("Stop Play");
		F_StopPlay();
//		m_windownum.EnableWindow(TRUE);
		return;
	}
	GetDlgItem(IDC_COMBOWNDNUM)->EnableWindow(FALSE);
	ClientParam.m_bPlaying = TRUE;
	
	if(iSurveillanceNumber < WINDOWNUM)
		itemp = iSurveillanceNumber;
	else
		itemp = WINDOWNUM;
	
	for(i=0;i<itemp;i++)      
	{
		if(ClientParam.m_bUseCard) 
			myoutput[i].StartCard(&selipinfo[i]);
		else
		{
			TRACE("start play %s m_lServerId = %d", selipinfo[i].m_csIP, selipinfo[i].m_lServerID);
			myoutput[i].StartNet(&selipinfo[i]);
			if(g_bShareSound && (myoutput[i].m_iPlayhandle >= 0))
			{
				ClientParam.m_bPlaySound[i] = TRUE;
			}
		}
		Sleep(100);      
	}

	if(iSurveillanceNumber <= WINDOWNUM)
	{
		numberpos = iSurveillanceNumber;
	}
	else
	{
		numberpos = WINDOWNUM;
		
		if(ClientParam.m_bCyclePlay) //cycle play
		{
			if(cycletimer == 0)
			{
				cycletimer = SetTimer(CYCLE_TIMER,ClientParam.m_iCycleTime*1000+3000,NULL);
			}
			ClientParam.m_bCycling = TRUE;
			m_bChangePage = TRUE;
			ClientParam.m_bPaused = FALSE;
		}
		else
		{
			ClientParam.m_bNextPage = TRUE;
			ClientParam.m_bFrontPage = FALSE;
		}
	}
//	m_windownum.EnableWindow(FALSE);
	GetDlgItem(IDC_PLAY)->SetWindowText("Stop");
	UpdateData(FALSE);
} 

void CNewclientDlg::F_FullScreen()
{
	GetWindowPlacement(&m_OldWndPlacement);
	
	CRect WindowRect, ClientRect, FullScreenRect;
	int FullWidth, FullHeight;
	GetWindowRect(&WindowRect);
	RepositionBars(0, 0xffff, AFX_IDW_PANE_FIRST, reposQuery, &ClientRect);
	ClientToScreen(&ClientRect);
	//Get screen resolution;
	FullWidth = GetSystemMetrics(SM_CXSCREEN);
	FullHeight = GetSystemMetrics(SM_CYSCREEN);
	//
	FullScreenRect.left = WindowRect.left-ClientRect.left;
	FullScreenRect.top = WindowRect.top-ClientRect.top;
	FullScreenRect.right = WindowRect.right-ClientRect.right+FullWidth;
	FullScreenRect.bottom = WindowRect.bottom-ClientRect.bottom+FullHeight;
	//Display in full screen
	WINDOWPLACEMENT wndpl;
	wndpl.length = sizeof(WINDOWPLACEMENT);
	wndpl.flags = 0;
	wndpl.showCmd = SW_SHOWNORMAL;
	wndpl.rcNormalPosition = FullScreenRect;
	SetWindowPlacement(&wndpl);
	int i;
	for(i = 0; i < WINDOWNUM; i++)
		myoutput[i].ShowWindow(SW_HIDE);
	F_ShowHide(FALSE);
	mycurwin.ShowWindow(SW_HIDE);
	i = iActiveWndNumber;
	if(ClientParam.m_bUseCard)
	{
		NET_DVR_DISPLAY_PARA	displaypara;
		displaypara.bToVideoOut = 1;
		displaypara.bToScreen = 1;
		displaypara.nLeft = 0;
		displaypara.nTop = 0;
		displaypara.nWidth = 1024;
		displaypara.nHeight = 768;
		NET_DVR_ResetPara_Card(myoutput[i].m_iPlayhandle,&displaypara);
	}
}

void CNewclientDlg::F_EndFullScreen()
{
	SetWindowPlacement(&m_OldWndPlacement);
	F_ShowHide(TRUE);
	mycurwin.ShowWindow(SW_SHOW);
}

void CNewclientDlg::F_ShowHide(BOOL bShow)
{
	if(bShow)
	{
		//PTZ
		GetDlgItem(IDC_BUTTONUP)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_BUTTONLEFT)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_BUTTONRIGHT)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_BUTTONDOWN)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_BUTTONTJLEFT)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_BUTTONTJRIGHT)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_BUTTONJJLEFT)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_BUTTONJJRIGHT)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_BUTTONGQLEFT)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_BUTTONGQRIGHT)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_YZD)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_BUTTONYZW)->ShowWindow(SW_SHOW);
		//Preview
		GetDlgItem(IDC_PLAY)->ShowWindow(SW_SHOW);
		//System config
		GetDlgItem(IDC_SYSTEMCFG)->ShowWindow(SW_SHOW);
		//Picture
		GetDlgItem(IDC_GETPICTURE)->ShowWindow(SW_SHOW);
		//Record
		GetDlgItem(IDC_RECORD)->ShowWindow(SW_SHOW);
	
		//Event log
		GetDlgItem(IDC_EVENTLIST)->ShowWindow(SW_SHOW);

		//Fortify
		GetDlgItem(IDC_BUTTONALARMSET)->ShowWindow(SW_SHOW);
		//Dialogue
		GetDlgItem(IDC_AUDIOEXCHANGE)->ShowWindow(SW_SHOW);
		//Playback
		GetDlgItem(IDC_VIDEOFILEPLAY)->ShowWindow(SW_SHOW);
		//Brightness
		GetDlgItem(IDC_SLIDERLD)->ShowWindow(SW_SHOW);
		//Contrast
		GetDlgItem(IDC_SLIDERDBD)->ShowWindow(SW_SHOW);
		//Saturation
		GetDlgItem(IDC_SLIDERBHD)->ShowWindow(SW_SHOW);
		//Hue
		GetDlgItem(IDC_SLIDERSD)->ShowWindow(SW_SHOW);
		//Volume
		GetDlgItem(IDC_SLIDERYL)->ShowWindow(SW_SHOW);
		//Default value
		GetDlgItem(IDC_BUTTONPOLL)->ShowWindow(SW_SHOW);
		//Exit
		GetDlgItem(IDC_EXIT)->ShowWindow(SW_SHOW);
		//Window number
		GetDlgItem(IDC_COMBOWNDNUM)->ShowWindow(SW_SHOW);

		GetDlgItem(IDC_LED1)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_LED2)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_LED3)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_LED4)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_LED5)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_LED6)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_LED7)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_LED8)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_LED9)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_LED10)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_LED11)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_LED12)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_LED13)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_LED14)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_LED15)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_LED16)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_ALARMLED1)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_ALARMLED2)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_ALARMLED3)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_ALARMLED4)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_ALARMLED5)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_ALARMLED6)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_ALARMLED7)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_ALARMLED8)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_ALARMLED9)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_ALARMLED10)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_ALARMLED11)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_ALARMLED12)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_ALARMLED13)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_ALARMLED14)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_ALARMLED15)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_ALARMLED16)->ShowWindow(SW_SHOW);
		//2006-01-11
		GetDlgItem(IDC_STATIC0)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_STATIC1)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_STATIC2)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_STATIC3)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_STATIC4)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_STATIC5)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_STATIC6)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_STATIC7)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_STATIC8)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_STATIC9)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_STATIC10)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_STATIC11)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_STATIC12)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_STATIC13)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_STATIC14)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_STATIC15)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_STATIC16)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_STATIC17)->ShowWindow(SW_SHOW);
	}
	else
	{
		//PTZ
		GetDlgItem(IDC_BUTTONUP)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_BUTTONLEFT)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_BUTTONRIGHT)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_BUTTONDOWN)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_BUTTONTJLEFT)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_BUTTONTJRIGHT)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_BUTTONJJLEFT)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_BUTTONJJRIGHT)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_BUTTONGQLEFT)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_BUTTONGQRIGHT)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_YZD)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_BUTTONYZW)->ShowWindow(SW_HIDE);
		
		//Preview
		GetDlgItem(IDC_PLAY)->ShowWindow(SW_HIDE);
		//System config
		GetDlgItem(IDC_SYSTEMCFG)->ShowWindow(SW_HIDE);
		//Picture
		GetDlgItem(IDC_GETPICTURE)->ShowWindow(SW_HIDE);
		//Record
		GetDlgItem(IDC_RECORD)->ShowWindow(SW_HIDE);

		//Event log
		GetDlgItem(IDC_EVENTLIST)->ShowWindow(SW_HIDE);

		//Fortify
		GetDlgItem(IDC_BUTTONALARMSET)->ShowWindow(SW_HIDE);
		//Dialogue
		GetDlgItem(IDC_AUDIOEXCHANGE)->ShowWindow(SW_HIDE);
		//Playback
		GetDlgItem(IDC_VIDEOFILEPLAY)->ShowWindow(SW_HIDE);
		//Brightness
		GetDlgItem(IDC_SLIDERLD)->ShowWindow(SW_HIDE);
		//Contrast
		GetDlgItem(IDC_SLIDERDBD)->ShowWindow(SW_HIDE);
		//Saturation
		GetDlgItem(IDC_SLIDERBHD)->ShowWindow(SW_HIDE);
		//Hue
		GetDlgItem(IDC_SLIDERSD)->ShowWindow(SW_HIDE);
		//Volume
		GetDlgItem(IDC_SLIDERYL)->ShowWindow(SW_HIDE);
		//Default value
		GetDlgItem(IDC_BUTTONPOLL)->ShowWindow(SW_HIDE);
		//Exit
		GetDlgItem(IDC_EXIT)->ShowWindow(SW_HIDE);
		//Window number
		GetDlgItem(IDC_COMBOWNDNUM)->ShowWindow(SW_HIDE);	

		GetDlgItem(IDC_LED1)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_LED2)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_LED3)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_LED4)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_LED5)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_LED6)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_LED7)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_LED8)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_LED9)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_LED10)->ShowWindow(SW_HIDE);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?