📄 dvsuserdlg.cpp
字号:
// DvsUserDlg.cpp : implementation file
//
#include "stdafx.h"
#include "DvsUser.h"
#include "DvsUserDlg.h"
#include "ConfigPage1.h"
#include "ConfigPage2.h"
#include "ConfigPage3.h"
#include "ConfigPage4.h"
#include "DlgDeviceCtrl.h"
#include "DlgConnect.h"
#include "DlgSaveFile.h"
#include "WorkDevice.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define WM_WORKDESTROY WM_USER+2000
#define WM_PROGRAMEXIT WM_USER+2001
#define WM_QUERYSWITCH WM_USER+2002
#define WM_MYHOTKEY WM_USER+1000
#define WM_ICONMESSAGE WM_USER+1001
#define WM_SCSWITCH WM_USER+3000
CDvsUserDlg* g_User = NULL;
/////////////////////////////////////////////////////////////////////////////
// CDvsUserDlg dialog
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
CDvsUserDlg::CDvsUserDlg(CWnd* pParent /*=NULL*/)
: CDialog(CDvsUserDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CDvsUserDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
m_hCamera = AfxGetApp()->LoadIcon(IDI_ICON_BRANCE);
m_hCard = AfxGetApp()->LoadIcon(IDI_ICON_CARD);
m_hTray = AfxGetApp()->LoadIcon(IDI_ICON_TRAY);
m_hBmp = NULL;
//线程初始化
cmdListenThread = NULL;
dataListenThread = NULL;
recvCmdThread = NULL;
pCurrentView = NULL;
ZeroMemory(CARD, sizeof(CARDINFO)*32);
ZeroMemory(USER, sizeof(USERINFO)*16);
ZeroMemory(LINK, sizeof(LINKINFO)*4);
for(int i=0; i<4; i++)
{
pWork[i] = NULL;
}
m_bSetAlert = TRUE; //是否布防
m_dwStartBrance = 0;
m_dwStopBrance = 7;
m_dwRecycleTime = 5; //循环显示使用
m_video_list_length = 0;
m_bExit = FALSE;
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
CDvsUserDlg::~CDvsUserDlg()
{
// Finitialize();
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
void CDvsUserDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDvsUserDlg)
DDX_Control(pDX, IDC_VIDEO_TREE, m_video_tree);
DDX_Control(pDX, IDC_VIDEO_LIST, m_video_list);
DDX_Control(pDX, IDC_VIEW4_FLAG, m_view4_bar);
DDX_Control(pDX, IDC_VIEW3_FLAG, m_view3_bar);
DDX_Control(pDX, IDC_VIEW2_FLAG, m_view2_bar);
DDX_Control(pDX, IDC_VIEW1_FLAG, m_view1_bar);
DDX_Control(pDX, IDC_VIEW4, m_view4);
DDX_Control(pDX, IDC_VIEW3, m_view3);
DDX_Control(pDX, IDC_VIEW2, m_view2);
DDX_Control(pDX, IDC_VIEW1, m_view1);
//}}AFX_DATA_MAP
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
BEGIN_MESSAGE_MAP(CDvsUserDlg, CDialog)
//{{AFX_MSG_MAP(CDvsUserDlg)
ON_WM_PAINT()
ON_BN_CLICKED(IDC_BTN_START, OnBtnStart)
ON_BN_CLICKED(IDC_BTN_VIDEO, OnBtnVideo)
ON_BN_CLICKED(IDC_BTN_PLAYBACK, OnBtnPlayback)
ON_BN_CLICKED(IDC_BTN_CONFIG, OnBtnConfig)
ON_BN_CLICKED(IDC_BTN_DEVICE, OnBtnDevice)
ON_BN_CLICKED(IDC_BTN_EXIT, OnBtnExit)
ON_WM_SYSCOMMAND()
ON_COMMAND(IDC_TRAY_MAIN, OnTrayMain)
ON_NOTIFY(NM_RCLICK, IDC_VIDEO_TREE, OnRclickVideoTree)
ON_COMMAND(IDC_SHORTCUT_REFRESH, OnShortcutRefresh)
ON_COMMAND(IDC_SHORTCUT_VIEW1, OnShortcutView1)
ON_COMMAND(IDC_SHORTCUT_VIEW2, OnShortcutView2)
ON_COMMAND(IDC_SHORTCUT_VIEW3, OnShortcutView3)
ON_COMMAND(IDC_SHORTCUT_VIEW4, OnShortcutView4)
ON_WM_TIMER()
//}}AFX_MSG_MAP
ON_MESSAGE(WM_WORKDESTROY, OnDestroyWorkDevice)
ON_MESSAGE(WM_PROGRAMEXIT, OnProgramExit)
ON_MESSAGE(WM_QUERYSWITCH, OnShowModal)
ON_MESSAGE(WM_MYHOTKEY, OnMyHotKey)
ON_MESSAGE(WM_ICONMESSAGE, OnIconMsg)
ON_MESSAGE(WM_SCSWITCH, OnSCSwitchVideo)
ON_COMMAND(IDC_INTERFACE_SAVE1, OnBtnSave1)
ON_COMMAND(IDC_INTERFACE_SAVE2, OnBtnSave2)
ON_COMMAND(IDC_INTERFACE_SAVE3, OnBtnSave3)
ON_COMMAND(IDC_INTERFACE_SAVE4, OnBtnSave4)
ON_COMMAND(IDC_INTERFACE_REVIEW1, OnBtnReview1)
ON_COMMAND(IDC_INTERFACE_REVIEW2, OnBtnReview2)
ON_COMMAND(IDC_INTERFACE_REVIEW3, OnBtnReview3)
ON_COMMAND(IDC_INTERFACE_REVIEW4, OnBtnReview4)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDvsUserDlg message handlers
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
INT CDvsUserDlg::OnProgramExit(WPARAM wParam, LPARAM lParam)
{
int nRet;
nRet = ::MessageBox(this->m_hWnd,
_TEXT("无法连接服务器,请检查线路故障,再重新登录服务器!"),
_TEXT("提示"),
MB_OKCANCEL|MB_ICONQUESTION);
m_bExit = 1;
CDialog::OnCancel();
return 1;
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
void CDvsUserDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
MessageBeep(1);
if(SC_CLOSE == nID)
{
OnBtnExit();
return;
}
CDialog::OnSysCommand(nID, lParam);
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
BOOL CDvsUserDlg::OnInitDialog()
{
CDialog::OnInitDialog();
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
g_User = this;
Initialize();
SetTimer(101, 100, NULL);
return TRUE; // return TRUE unless you set the focus to a control
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
void CDvsUserDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
DrawFrame(&dc);
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
void CDvsUserDlg::OnBtnStart()
{
pDlgConnect = new CDlgConnect();
pDlgConnect->DoModal();
delete pDlgConnect;
pDlgConnect = NULL;
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
void CDvsUserDlg::OnBtnVideo()
{
CDlgSaveFile dlg;
dlg.DoModal();
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
void CDvsUserDlg::OnBtnPlayback()
{
WinExec("qplay.exe", SW_SHOW);
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
void CDvsUserDlg::OnBtnConfig()
{
CConfigPage1 page1;
CConfigPage2 page2;
CConfigPage3 page3;
CConfigPage4 page4;
page1.m_psp.dwFlags &= ~PSP_HASHELP;
page2.m_psp.dwFlags &= ~PSP_HASHELP;
page3.m_psp.dwFlags &= ~PSP_HASHELP;
page4.m_psp.dwFlags &= ~PSP_HASHELP;
CPropertySheet sheet(_TEXT("系统设置"));
sheet.m_psh.dwFlags &= ~PSH_HASHELP;
sheet.m_psh.dwFlags |= PSH_NOAPPLYNOW;
sheet.m_psh.dwFlags |= PSH_USEHICON;
sheet.m_psh.hIcon = m_hIcon;
sheet.AddPage(&page1);
sheet.AddPage(&page2);
sheet.AddPage(&page3);
sheet.AddPage(&page4);
sheet.DoModal();
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
void CDvsUserDlg::OnBtnDevice()
{
CDlgDeviceCtrl dlg;
dlg.DoModal();
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
void CDvsUserDlg::OnBtnExit()
{
int nRet;
nRet = ::MessageBox(this->m_hWnd,
_TEXT("您确实要退出系统吗?"),
_TEXT("提示"),
MB_OKCANCEL|MB_ICONQUESTION);
if(nRet == IDOK)
{
m_bExit = 1;
DestroyAllLink();
CDialog::OnCancel();
}
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
VOID CDvsUserDlg::OnBtnSave1()
{
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
VOID CDvsUserDlg::OnBtnSave2()
{
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
VOID CDvsUserDlg::OnBtnSave3()
{
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
VOID CDvsUserDlg::OnBtnSave4()
{
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
VOID CDvsUserDlg::OnBtnReview1()
{
if(CLIENT.dwUserPriority < 4)
{
MessageBox(_TEXT("您的权限不够,需要SUPER用户权限!"), _TEXT("系统信息"), 0|MB_ICONINFORMATION);
return;
}
if(LINK[0].bLinkState == TRUE)
{
if(CARD[LINK[0].dwCard].dwCardState == CARD_START)
{
RECYCLEINFO recycle;
sprintf(recycle.szCardIP, "%s", CARD[LINK[0].dwCard].szCardIP);
recycle.dwStartBrance = m_dwStartBrance;
recycle.dwStopBrance = m_dwStopBrance;
recycle.dwOldBrance = CARD[LINK[0].dwCard].dwActiveBrance;
recycle.dwTimeSpace = m_dwRecycleTime;
OnSendRecycleView(&recycle);
return;
}
}
MessageBox(_TEXT("未连接编码器或者编码器状态不对(已经在循环显示?)!"), _TEXT("系统信息"), 0|MB_ICONINFORMATION);
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
VOID CDvsUserDlg::OnBtnReview2()
{
if(CLIENT.dwUserPriority < 4)
{
MessageBox(_TEXT("您的权限不够,需要SUPER用户权限!"), _TEXT("系统信息"), 0|MB_ICONINFORMATION);
return;
}
if(LINK[1].bLinkState == TRUE)
{
if(CARD[LINK[1].dwCard].dwCardState == CARD_START)
{
RECYCLEINFO recycle;
sprintf(recycle.szCardIP, "%s", CARD[LINK[1].dwCard].szCardIP);
recycle.dwStartBrance = m_dwStartBrance;
recycle.dwStopBrance = m_dwStopBrance;
recycle.dwOldBrance = CARD[LINK[1].dwCard].dwActiveBrance;
recycle.dwTimeSpace = m_dwRecycleTime;
OnSendRecycleView(&recycle);
return;
}
}
MessageBox(_TEXT("未连接编码器或者编码器状态不对(已经在循环显示?)!"), _TEXT("系统信息"), 0|MB_ICONINFORMATION);
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
VOID CDvsUserDlg::OnBtnReview3()
{
if(CLIENT.dwUserPriority < 4)
{
MessageBox(_TEXT("您的权限不够,需要SUPER用户权限!"), _TEXT("系统信息"), 0|MB_ICONINFORMATION);
return;
}
if(LINK[2].bLinkState == TRUE)
{
if(CARD[LINK[2].dwCard].dwCardState == CARD_START)
{
RECYCLEINFO recycle;
sprintf(recycle.szCardIP, "%s", CARD[LINK[2].dwCard].szCardIP);
recycle.dwStartBrance = m_dwStartBrance;
recycle.dwStopBrance = m_dwStopBrance;
recycle.dwOldBrance = CARD[LINK[2].dwCard].dwActiveBrance;
recycle.dwTimeSpace = m_dwRecycleTime;
OnSendRecycleView(&recycle);
return;
}
}
MessageBox(_TEXT("未连接编码器或者编码器状态不对(已经在循环显示?)!"), _TEXT("系统信息"), 0|MB_ICONINFORMATION);
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
VOID CDvsUserDlg::OnBtnReview4()
{
if(CLIENT.dwUserPriority < 4)
{
MessageBox(_TEXT("您的权限不够,需要SUPER用户权限!"), _TEXT("系统信息"), 0|MB_ICONINFORMATION);
return;
}
if(LINK[3].bLinkState == TRUE)
{
if(CARD[LINK[3].dwCard].dwCardState == CARD_START)
{
RECYCLEINFO recycle;
sprintf(recycle.szCardIP, "%s", CARD[LINK[3].dwCard].szCardIP);
recycle.dwStartBrance = m_dwStartBrance;
recycle.dwStopBrance = m_dwStopBrance;
recycle.dwOldBrance = CARD[LINK[3].dwCard].dwActiveBrance;
recycle.dwTimeSpace = m_dwRecycleTime;
OnSendRecycleView(&recycle);
return;
}
}
MessageBox(_TEXT("未连接编码器或者编码器状态不对(已经在循环显示?)!"), _TEXT("系统信息"), 0|MB_ICONINFORMATION);
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
void CDvsUserDlg::OnTimer(UINT nIDEvent)
{
for(int i=0; i<4; i++)
{
if(pWork[i])
{
if(pWork[i]->m_bStart == TRUE)
{
LINK[pWork[i]->m_nViewWindow].bLinkState = TRUE;
}
}
}
CDialog::OnTimer(nIDEvent);
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -