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

📄 newclientdlg.cpp

📁 监控开发资料,提供二次开发源码和使用说明书
💻 CPP
📖 第 1 页 / 共 5 页
字号:
		break;
	case 1:
		wndnum = 4;
		break;
	case 2:
		wndnum = 9;
		break;
	case 3:
		wndnum = 16;
		break;
	default:
		break;
	}
	if(WINDOWNUM != wndnum)
	{
		WINDOWNUM = wndnum;
		if(hikClientParam.m_bCycling)
		{
			AfxMessageBox("请停止循环播放!");
			return;
		}
/*		if(hikClientParam.m_bPlaying)
		{
			TRACE("Stop Play");
			F_StopPlay();
			OnVideonetplay();
		}
*/
		for(i = 0; i < MAXVIEWNUM; i++)
		{
			if(myoutput[i].m_iPlayhandle != -1)
			{
//				NET_DVR_RealPlayPause(myoutput[i].m_iPlayhandle);
			}
		}
		ArrayWindow(0, WINDOWNUM);
		MoveCurWin(WINDOWNUM,0);
		for(i = 0; i < WINDOWNUM; i++)
		{
			if(myoutput[i].m_iPlayhandle != -1)
			{
//				NET_DVR_RealPlayRestart(myoutput[i].m_iPlayhandle);
			}
		}	
	}
}

void CNewclientDlg::F_StopPlay()
{
	int i;
	
	if(cycletimer)
	{
		KillTimer(CYCLE_TIMER);
		cycletimer = 0;
	}
	if(!hikClientParam.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();
	}
	GetDlgItem(IDC_PLAY)->SetWindowText("预览");
	numberpos = 0;				
	if( (hikClientParam.m_bEnlarged) || (hikClientParam.m_bFullScreen) )
	{
		ArrayWindow(0, WINDOWNUM);
		MoveCurWin(WINDOWNUM,0);
	} 
	
	hikClientParam.m_bPlaying = FALSE;
	hikClientParam.m_bCycling = FALSE;
	hikClientParam.m_bPaused = FALSE;
	hikClientParam.m_bNextPage = FALSE;
	hikClientParam.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(hikClientParam.m_bPlaying)
	{
		TRACE("Stop Play");
		F_StopPlay();
//		m_windownum.EnableWindow(TRUE);
		return;
	}
	GetDlgItem(IDC_COMBOWNDNUM)->EnableWindow(FALSE);
	hikClientParam.m_bPlaying = TRUE;
	
	if(iSurveillanceNumber < WINDOWNUM)
		itemp = iSurveillanceNumber;
	else
		itemp = WINDOWNUM;
	
	for(i=0;i<itemp;i++)      
	{
		if(hikClientParam.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))
			{
				hikClientParam.m_bPlaySound[i] = TRUE;
			}
		}
		Sleep(100);      
	}

	if(iSurveillanceNumber <= WINDOWNUM)
	{
		numberpos = iSurveillanceNumber;
	}
	else
	{
		numberpos = WINDOWNUM;
		
		if(hikClientParam.m_bCyclePlay) //循环播放
		{
			if(cycletimer == 0)
			{
				cycletimer = SetTimer(CYCLE_TIMER,hikClientParam.m_iCycleTime*1000+3000,NULL);
			}
			hikClientParam.m_bCycling = TRUE;
			m_bChangePage = TRUE;
			hikClientParam.m_bPaused = FALSE;
		}
		else
		{
			hikClientParam.m_bNextPage = TRUE;
			hikClientParam.m_bFrontPage = FALSE;
		}
	}
//	m_windownum.EnableWindow(FALSE);
	GetDlgItem(IDC_PLAY)->SetWindowText("停止");
	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);
	//获取屏幕的分辨率;
	FullWidth = GetSystemMetrics(SM_CXSCREEN);
	FullHeight = GetSystemMetrics(SM_CYSCREEN);
	//将除控制条外的客户区全屏显示到从(0,0)到(nFullWidth, nFullHeight)区域, 将(0,0)和(nFullWidth, nFullHeight)两个点外扩充原窗口和除控制条之外的 客户区位置间的差值, 就得到全屏显示的窗口位置;
	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;
	//进入全屏显示状态 ;
	WINDOWPLACEMENT wndpl;
	wndpl.length = sizeof(WINDOWPLACEMENT);
	wndpl.flags = 0;
	wndpl.showCmd = SW_SHOWNORMAL;
	wndpl.rcNormalPosition = FullScreenRect;
	SetWindowPlacement(&wndpl);
	
	for(int i = 0; i < WINDOWNUM; i++)
		myoutput[i].ShowWindow(SW_HIDE);
	F_ShowHide(FALSE);
	mycurwin.ShowWindow(SW_HIDE);
	i = iActiveWndNumber;
	if(hikClientParam.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)
	{
		//版本号
		GetDlgItem(IDC_DES)->ShowWindow(SW_SHOW);
		//云台
		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);
		//预览
		GetDlgItem(IDC_PLAY)->ShowWindow(SW_SHOW);
		//系统设置
		GetDlgItem(IDC_SYSTEMCFG)->ShowWindow(SW_SHOW);
		//抓图
		GetDlgItem(IDC_GETPICTURE)->ShowWindow(SW_SHOW);
		//录像
		GetDlgItem(IDC_RECORD)->ShowWindow(SW_SHOW);
	
		//时间日志
		GetDlgItem(IDC_EVENTLIST)->ShowWindow(SW_SHOW);

		//布防,撤防
		GetDlgItem(IDC_BUTTONALARMSET)->ShowWindow(SW_SHOW);
		//语音对讲
		GetDlgItem(IDC_AUDIOEXCHANGE)->ShowWindow(SW_SHOW);
		//回放
		GetDlgItem(IDC_VIDEOFILEPLAY)->ShowWindow(SW_SHOW);
		//亮度
		GetDlgItem(IDC_SLIDERLD)->ShowWindow(SW_SHOW);
		//对比度
		GetDlgItem(IDC_SLIDERDBD)->ShowWindow(SW_SHOW);
		//饱和度
		GetDlgItem(IDC_SLIDERBHD)->ShowWindow(SW_SHOW);
		//色度
		GetDlgItem(IDC_SLIDERSD)->ShowWindow(SW_SHOW);
		//音量
		GetDlgItem(IDC_SLIDERYL)->ShowWindow(SW_SHOW);
		//恢复默认值
		GetDlgItem(IDC_BUTTONPOLL)->ShowWindow(SW_SHOW);
		//退出系统
		GetDlgItem(IDC_EXIT)->ShowWindow(SW_SHOW);
		//窗口画面数
		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);
	}
	else
	{
		//版本号
		GetDlgItem(IDC_DES)->ShowWindow(SW_HIDE);
		//云台
		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);
		
		//预览
		GetDlgItem(IDC_PLAY)->ShowWindow(SW_HIDE);
		//系统设置
		GetDlgItem(IDC_SYSTEMCFG)->ShowWindow(SW_HIDE);
		//抓图
		GetDlgItem(IDC_GETPICTURE)->ShowWindow(SW_HIDE);
		//录像
		GetDlgItem(IDC_RECORD)->ShowWindow(SW_HIDE);

		//时间日志
		GetDlgItem(IDC_EVENTLIST)->ShowWindow(SW_HIDE);

		//布防,撤防
		GetDlgItem(IDC_BUTTONALARMSET)->ShowWindow(SW_HIDE);
		//语音对讲
		GetDlgItem(IDC_AUDIOEXCHANGE)->ShowWindow(SW_HIDE);
		//回放
		GetDlgItem(IDC_VIDEOFILEPLAY)->ShowWindow(SW_HIDE);
		//亮度
		GetDlgItem(IDC_SLIDERLD)->ShowWindow(SW_HIDE);
		//对比度
		GetDlgItem(IDC_SLIDERDBD)->ShowWindow(SW_HIDE);
		//饱和度
		GetDlgItem(IDC_SLIDERBHD)->ShowWindow(SW_HIDE);
		//色度
		GetDlgItem(IDC_SLIDERSD)->ShowWindow(SW_HIDE);
		//音量
		GetDlgItem(IDC_SLIDERYL)->ShowWindow(SW_HIDE);
		//恢复默认值
		GetDlgItem(IDC_BUTTONPOLL)->ShowWindow(SW_HIDE);
		//退出系统
		GetDlgItem(IDC_EXIT)->ShowWindow(SW_HIDE);
		//窗口画面数
		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);
		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);
	}
}

void CNewclientDlg::F_ShowVideoParams()
{
	m_ld.SetPos(hikClientParam.m_VideoInfo[iActiveWndNumber].m_iBrightness);
	m_sd.SetPos(hikClientParam.m_VideoInfo[iActiveWndNumber].m_iHue);
	m_bhd.SetPos(hikClientParam.m_VideoInfo[iActiveWndNumber].m_iSaturation);
	m_dbd.SetPos(hikClientParam.m_VideoInfo[iActiveWndNumber].m_iContrast);
	m_yl.SetPos(hikClientParam.m_Volume);
}

void CNewclientDlg::F_NextPage()
{
	int itemp,i;

	itemp = numberpos % WINDOWNUM;
	if ((itemp > 0) || (numberpos == iSurveillanceNumber))//只有当numberpos是WINDOWNUM的整数倍时才有可能按next
		return;

	for(i = 0; i < MAXVIEWNUM; i++)
	{
		if( (myoutput[i].m_iPlayhandle >= 0) || (myoutput[i].m_bFileSave) )
			F_StopClientRecord(i);
	}
	if( (hikClientParam.m_bEnlarged) || (hikClientParam.m_bFullScreen) )
	{
		ArrayWindow(0, WINDOWNUM);	//窗口放大状态时,循环到下一画面,恢复原窗口数;					
		MoveCurWin(WINDOWNUM,0);
		hikClientParam.m_bEnlarged = FALSE;
		hikClientParam.m_bFullScreen = FALSE;
	}

	itemp = iSurveillanceNumber - numberpos;
	if(itemp > WINDOWNUM)
		itemp = WINDOWNUM;
	if(!hikClientParam.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(hikClientParam.m_bUseCard)
				myoutput[i].StartCard(&selipinfo[i+numberpos]);
			else
			{
				myoutput[i].StartNet(&selipinfo[i+numberpos]);
				if(g_bShareSound && (myoutput[i].m_iPlayhandle >= 0))
				{
					hikClientParam.m_bPlaySound[i] = TRUE;
				}
			}
			Sleep(100);
		}
	}

	itemp = iSurveillanceNumber - numberpos;
	if(itemp <= WINDOWNUM)
	{
		numberpos = iSurveillanceNumber;
		hikClientParam.m_bNextPage = FALSE;
	}
	else
	{
		numberpos += WINDOWNUM;
	}
	
	hikClientParam.m_bFrontPage = TRUE;
	UpdateData(FALSE);
}

void CNewclientDlg::F_FrontPage()

⌨️ 快捷键说明

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