📄 newclientdlg.cpp
字号:
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 + -