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

📄 matplayback.cpp

📁 SDK DVR/DVS HIKVISION
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// MatPlayBack.cpp : implementation file
//

#include "stdafx.h"
#include "newclient.h"
#include "MatPlayBack.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMatPlayBack dialog
#define GETSTATE_TIMER WM_USER+1

CMatPlayBack::CMatPlayBack(CWnd* pParent /*=NULL*/)
	: CDialog(CMatPlayBack::IDD, pParent)
{
	//{{AFX_DATA_INIT(CMatPlayBack)
	m_PlayBackName = _T("");
	m_PlayBackIP = _T("");
	m_PlayBackPass = _T("");
	m_PlayBackChan = 0;
	m_PlayBackPort = 0;
	m_PlayBackUser = _T("");
	m_PlayStatus = _T("");
	//}}AFX_DATA_INIT
	m_hPlayEnableIcon =			AfxGetApp()->LoadIcon(IDI_PLAY_ENABLE);
	m_hPlayDisableIcon =		AfxGetApp()->LoadIcon(IDI_PLAY_DISABLE);
	m_hPauseEnableIcon =		AfxGetApp()->LoadIcon(IDI_PAUSE_ENABLE);
	m_hPauseDisableIcon =		AfxGetApp()->LoadIcon(IDI_PAUSE_DISABLE);
	m_hStopEnableIcon =			AfxGetApp()->LoadIcon(IDI_STOP_ENABLE);
	m_hStopDisableIcon =		AfxGetApp()->LoadIcon(IDI_STOP_DISABLE);
	m_hSoundStartIcon=			AfxGetApp()->LoadIcon(IDI_SOUND_ENABLE);
	m_hSoundStopIcon=			AfxGetApp()->LoadIcon(IDI_SOUND_DISABLE);
	m_hFastDisableIcon =		AfxGetApp()->LoadIcon(IDI_FASTFORWARD_DISABLE);
	m_hSlowDisableIcon=			AfxGetApp()->LoadIcon(IDI_FASTBACKWARD_DISABLE);
	m_hFastEnableIcon =			AfxGetApp()->LoadIcon(IDI_FASTFORWARD_ENABLE);
	m_hSlowEnableIcon =			AfxGetApp()->LoadIcon(IDI_FASTBACKWARD_ENABLE);
	m_hStepEnableIcon=			AfxGetApp()->LoadIcon(IDI_STEP_ENABLE);
	m_hStepDisableIcon =		AfxGetApp()->LoadIcon(IDI_STEP_DISABLE);

	m_bSound = FALSE;
	m_bPlay = FALSE;
	m_bPause = FALSE;

//	memset(&m_struState, 0, sizeof(m_struState));
}


void CMatPlayBack::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMatPlayBack)
	DDX_Control(pDX, IDC_COMBODECCHAN, m_DecChanCombo);
	DDX_Control(pDX, IDC_PROGRESS_SLIDER, m_ctlProgress);
	DDX_Control(pDX, IDC_DATETIMEPICKER4, m_StopTime);
	DDX_Control(pDX, IDC_DATETIMEPICKER3, m_StopDate);
	DDX_Control(pDX, IDC_DATETIMEPICKER2, m_StartTime);
	DDX_Control(pDX, IDC_DATETIMEPICKER1, m_StartDate);
	DDX_Text(pDX, IDC_EDITBACKNAME, m_PlayBackName);
	DDX_Text(pDX, IDC_EDITIP, m_PlayBackIP);
	DDX_Text(pDX, IDC_EDITPASSWD, m_PlayBackPass);
	DDX_Text(pDX, IDC_EDITCHAN, m_PlayBackChan);
	DDX_Text(pDX, IDC_EDITPORT, m_PlayBackPort);
	DDX_Text(pDX, IDC_EDITUSER, m_PlayBackUser);
	DDX_Text(pDX, IDC_PLAYSTATUS, m_PlayStatus);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CMatPlayBack, CDialog)
	//{{AFX_MSG_MAP(CMatPlayBack)
	ON_WM_TIMER()
	ON_BN_CLICKED(IDC_FAST, OnFast)
	ON_BN_CLICKED(IDC_PLAY_FILE, OnPlayFile)
	ON_BN_CLICKED(IDC_SLOW, OnSlow)
	ON_BN_CLICKED(IDC_SOUND, OnSound)
	ON_BN_CLICKED(IDC_STEP, OnStep)
	ON_BN_CLICKED(IDC_STOP, OnStop)
	ON_WM_HSCROLL()
	ON_BN_CLICKED(IDC_RADIONAME, OnRadioname)
	ON_BN_CLICKED(IDC_RADIOTIME, OnRadiotime)
	ON_BN_CLICKED(IDC_SETUP, OnSetup)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMatPlayBack message handlers

void CMatPlayBack::F_InitUI()
{
	CButton *pButton;
	
	pButton = (CButton *)GetDlgItem(IDC_PLAY_FILE);
	pButton->SetIcon(m_hPlayDisableIcon);
	pButton->EnableWindow(FALSE);
	
	pButton = (CButton *)GetDlgItem(IDC_STOP);
	pButton->SetIcon(m_hStopDisableIcon);
	pButton->EnableWindow(FALSE);
	
	pButton = (CButton *)GetDlgItem(IDC_FAST);
	pButton->SetIcon(m_hFastDisableIcon);
	pButton->EnableWindow(FALSE);
	
	pButton = (CButton *)GetDlgItem(IDC_SLOW);
	pButton->SetIcon(m_hSlowDisableIcon);
	pButton->EnableWindow(FALSE);
	
	pButton = (CButton *)GetDlgItem(IDC_STEP);
	pButton->SetIcon(m_hStepDisableIcon);
	pButton->EnableWindow(FALSE);
	
	pButton = (CButton *)GetDlgItem(IDC_SOUND);
	pButton->SetIcon(m_hSoundStopIcon);
	pButton->EnableWindow(FALSE);
}

void CMatPlayBack::F_SetStopState()
{
	CButton *pButton;
	
	m_ctlProgress.SetPos(0);
	m_ctlProgress.EnableWindow(FALSE);
	
	pButton = (CButton *)GetDlgItem(IDC_PLAY_FILE);
	pButton->SetIcon(m_hPlayEnableIcon);
	pButton->EnableWindow(TRUE);
	
	pButton = (CButton *)GetDlgItem(IDC_STOP);
	pButton->SetIcon(m_hStopDisableIcon);
	pButton->EnableWindow(FALSE);
	
	pButton = (CButton *)GetDlgItem(IDC_FAST);
	pButton->SetIcon(m_hFastDisableIcon);
	pButton->EnableWindow(FALSE);
	
	pButton = (CButton *)GetDlgItem(IDC_SLOW);
	pButton->SetIcon(m_hSlowDisableIcon);
	pButton->EnableWindow(FALSE);
	
	pButton = (CButton *)GetDlgItem(IDC_STEP);
	pButton->SetIcon(m_hStepDisableIcon);
	pButton->EnableWindow(FALSE);
	
	pButton = (CButton *)GetDlgItem(IDC_SOUND);
	pButton->SetIcon(m_hSoundStopIcon);
	pButton->EnableWindow(FALSE);	
}

void CMatPlayBack::F_SetPlayState() 
{
	m_ctlProgress.EnableWindow(TRUE);

	CButton *pButton;
	
	pButton = (CButton *)GetDlgItem(IDC_PLAY_FILE);
	pButton->SetIcon(m_hPauseEnableIcon);
	pButton->EnableWindow(TRUE);
	
	pButton = (CButton *)GetDlgItem(IDC_STOP);
	pButton->SetIcon(m_hStopEnableIcon);
	pButton->EnableWindow(TRUE);
	
	pButton = (CButton *)GetDlgItem(IDC_FAST);
	pButton->SetIcon(m_hFastEnableIcon);
	pButton->EnableWindow(TRUE);
	
	pButton = (CButton *)GetDlgItem(IDC_SLOW);
	pButton->SetIcon(m_hSlowEnableIcon);
	pButton->EnableWindow(TRUE);
	
	pButton = (CButton *)GetDlgItem(IDC_SOUND);
	if(m_bSound)
		pButton->SetIcon(m_hSoundStartIcon);
	else
		pButton->SetIcon(m_hSoundStopIcon);
	pButton->EnableWindow(TRUE);
	
	pButton = (CButton *)GetDlgItem(IDC_STEP);
	pButton->SetIcon(m_hStepEnableIcon);
	pButton->EnableWindow(TRUE);
}

void CMatPlayBack::F_SetPauseState()
{
	CButton *pButton;	
	pButton = (CButton *)GetDlgItem(IDC_PLAY_FILE);
	pButton->SetIcon(m_hPlayEnableIcon);
	pButton->EnableWindow(TRUE);
}

void CMatPlayBack::EnableControl(BOOL bEnable)
{
	GetDlgItem(IDC_EDITBACKNAME)->EnableWindow(bEnable);
	GetDlgItem(IDC_DATETIMEPICKER1)->EnableWindow(!bEnable);
	GetDlgItem(IDC_DATETIMEPICKER2)->EnableWindow(!bEnable);
	GetDlgItem(IDC_DATETIMEPICKER3)->EnableWindow(!bEnable);
	GetDlgItem(IDC_DATETIMEPICKER4)->EnableWindow(!bEnable);
}

BOOL CMatPlayBack::OnInitDialog() 
{
	CDialog::OnInitDialog();
	// TODO: Add extra initialization here
	F_InitUI();
	
	CString tmp;
	for (int i=0; i<m_iChannelNumber; i++)
	{
		tmp.Format("channel %d", i+m_lStartChan);
		m_DecChanCombo.AddString(tmp);
	}

	m_DecChanCombo.SetCurSel(0);
	m_ctlProgress.SetRange(0, 100);
	m_ctlProgress.SetPos(0);

	SYSTEMTIME st;
	GetSystemTime(&st);
	m_StartDate.SetTime(&st);
	m_StartTime.SetTime(&st);
	m_StopDate.SetTime(&st);
	m_StopTime.SetTime(&st);

	CheckRadioButton(IDC_RADIONAME, IDC_RADIOTIME, IDC_RADIONAME);
	EnableControl(TRUE);

	F_SetStopState();
	UpdateData(FALSE);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CMatPlayBack::OnTimer(UINT nIDEvent) 
{
	CDialog::OnTimer(nIDEvent);
//	NET_DVR_MATRIX_DEC_CHAN_STATUS MDStatus;
	CString tmp;
	// TODO: Add your message handler code here and/or call default
	if (nIDEvent == GETSTATE_TIMER)
	{
// 		if (m_bPlay)
// 		{
// 			memset(&MDStatus, 0, sizeof(MDStatus));
// 			if (!NET_DVR_MatrixGetDecChanStatus(m_lServerID, m_DecChanCombo.GetCurSel()+m_lStartChan, &MDStatus))
// 			{
// 				tmp.Format("Error: NET_DVR_MatrixGetDecChanStatus = %d", NET_DVR_GetLastError());
// 				AfxMessageBox(tmp);
// 			}
// 			else
// 			{
// 				if (!MDStatus.dwIsLinked)
// 				{
// 					AfxMessageBox("not linked yet,just wait!");
// 				}
// 				else

⌨️ 快捷键说明

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