?? 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("請停止循環(huán)播放!");
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) //循環(huán)播放
{
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);
//將除控制條外的客戶區(qū)全屏顯示到從(0,0)到(nFullWidth, nFullHeight)區(qū)域, 將(0,0)和(nFullWidth, nFullHeight)兩個點外擴充原窗口和除控制條之外的 客戶區(qū)位置間的差值, 就得到全屏顯示的窗口位置;
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;
//進入全屏顯示狀態(tài) ;
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);
//系統(tǒng)設置
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);
//退出系統(tǒng)
GetDlgItem(IDC_EXIT)->ShowWindow(SW_SHOW);
//窗口畫面數(shù)
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);
//系統(tǒng)設置
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);
//退出系統(tǒng)
GetDlgItem(IDC_EXIT)->ShowWindow(SW_HIDE);
//窗口畫面數(shù)
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的整數(shù)倍時才有可能按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); //窗口放大狀態(tài)時,循環(huán)到下一畫面,恢復原窗口數(shù);
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 + -