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