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

📄 dvsuserdlg.h

📁 MPEG4网络视频服务器客户端图象监控软件
💻 H
字号:
/********************************************************************
	created:	2002/08/06
	created:	6:8:2002   14:26
	filename: 	E:\WORK\0806\DvsUser\DvsUserDlg.h
	file path:	E:\WORK\0806\DvsUser
	file base:	DvsUserDlg
	file ext:	h
	author:		Sun_J
	
	purpose:	
*********************************************************************/

#if !defined(AFX_DVSUSERDLG_H__D46D659F_FDFC_41CF_991A_B164F16EDC5F__INCLUDED_)
#define AFX_DVSUSERDLG_H__D46D659F_FDFC_41CF_991A_B164F16EDC5F__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

/////////////////////////////////////////////////////////////////////////////
// CDvsUserDlg dialog
#include "ViewStatic.h"
#include "FlagStatic.h"

class CWorkDevice;
class CDlgConnect;
class CDvsUserDlg : public CDialog
{
// Construction
public:
	CDvsUserDlg(CWnd* pParent = NULL);	// standard constructor
	~CDvsUserDlg();

public:
//	VOID			SetAVInfo(DWORD	dwCardIndex, DWORD dwActiveBrance);
	VOID			SetViewWindow(int nMonitor, DWORD dwCardIndex, DWORD dwActiveBrance);
	VOID			AddLinkInfo(int nMonitor, DWORD dwCardIndex, DWORD dwActiveBrance);
	VOID			DelLinkInfo(int nMonitor);
	VOID			ShowOneWindow(HWND hWnd);
	VOID			ShowAllWindow(HWND hWnd);

//与SERVER通信(发送)	
public:
	INT				OnSendVideoStart(DWORD	dwCardIndex, DWORD dwActiveBrance);
	INT				OnSendVideoStop(DWORD	dwCardIndex, DWORD dwActiveBrance);
	INT				OnSendSwitchInfo();
	INT				OnSendDeviceCtrl(DEVICEINFO* pDevice);
	INT				OnSendLamp(ALERTINFO* pAlert);
	INT				OnSendPlaceDefeat(BOOL bSetAlert);
	INT				OnSendRecycleView(RECYCLEINFO* pView);
	INT				OnSendVideoRate(INITINFO* pInit);
	INT				OnSendSPConfig(DWORD dwCardGUID, INT iBaudRate);

//与SERVER通信(接收)
public:
	INT				OnRecvCardInfo(CMD_SIGNAL*);
	INT				OnRecvAlertSignal(CMD_SIGNAL*);
	INT				OnRecvSwitchInfo(CMD_SIGNAL*);
	INT				OnRecvEventMessage(CMD_SIGNAL*);
	INT				OnRecvRecycleMessage();

public:
	////////////////////////////////////////////////////////////////
	CBlockSocket	connSock;			//第一次登录时使用
	CBlockSocket	cmdListenSock;		//命令监听
	CBlockSocket	dataListenSock;		//数据监听
	CBlockSocket	ctrlSock;			//控制

	CThread*		cmdListenThread;	//命令监听线程
	CThread*		dataListenThread;   //数据监听线程
	VOID			CmdListenProc();    //命令监听进程函数
	VOID			DataListenProc();	//数据监听进程函数

	CThread*		recvCmdThread;		//接收命令线程
	VOID			RecvCmdProc();		//接收命令进程函数
	//2004-08


	CMD_SIGNAL		CMD;
	CLIENTINFO		CLIENT;
	SWITCHINFO		SWITCH;
	AVINFO			AV;
	CARDINFO		CARD[32];
	USERINFO		USER[16];
////////////////////////////////////////////////
typedef struct tagLinkInfo
{
	BOOL			bLinkState;
	DWORD			dwCard;
	DWORD			dwBrance;
	DWORD			dwVideoRate;
}LINKINFO;
	LINKINFO		LINK[4];
////////////////////////////////////////////////
public:
//文件存储参数param
	INT				g_nFileSaveTime;				//分钟
	CString			g_strFileSavePath;				//路径
	INT				m_nCurrentView;					//file name third parameter
	VOID			SetFileSaveFlag(int iWindow, BOOL bSave);
	BOOL			GetFileSaveFlag(int iWindow);	//获得是否在存盘的标志
//是否布防/撤防
	BOOL			m_bSetAlert;
//循环显示设定
	DWORD			m_dwStartBrance;
	DWORD			m_dwStopBrance;
	DWORD			m_dwRecycleTime;

private:
	int				Initialize();
	int				Finitialize();
	int				DestroyAllLink();			//退出前断掉所有连接

	int				InitFileName();				//判断文件名字
	int				Login();
	int				InitReg();
	int				InitSocket();
	int				InitFrame();				//初始化界面
	int				DrawFrame(CDC* pDC);		//刷新界面
	void			SetUserPower(int iClass);	//设置用户权限

	void			OnDealMessage(CMD_SIGNAL* pCmd);
	int				ShowModal(LPCTSTR lpText, LPCTSTR lpTitle, UINT uiTime = 4);
	
	int				AddVideoList();
	int				DelVideoList(int nIndex);
	int				m_video_list_length;
	
	VOID			SetUserWindowState(BOOL bState);

	VOID			DealShortcutLink(DWORD dwCardGUID, DWORD dwBrance);
	VOID			DealShortcutLink(DWORD dwCardIndex, DWORD dwBrance, DWORD dwCardGUID);
	VOID			DealShortcutLink(DWORD dwCardIndex, DWORD dwBrance, DWORD dwView, DWORD dwCardGUID);
	VOID			SC_OnStartReady	(DWORD dwCardIndex, DWORD dwBrance, DWORD dwView);
	VOID			SC_OnStartError	(DWORD dwCardIndex, DWORD dwBrance, DWORD dwView);
	VOID			SC_OnStartStart	(DWORD dwCardIndex, DWORD dwBrance, DWORD dwView);
	VOID			SC_OnStartAlert	(DWORD dwCardIndex, DWORD dwBrance, DWORD dwView);
	VOID			SC_OnStartInit	(DWORD dwCardIndex, DWORD dwBrance, DWORD dwView);
	VOID			SC_OnStartRecycle(DWORD dwCardIndex, DWORD dwBrance,DWORD dwView);
	VOID			SC_OnRefreshTitle(int iTitle);
private:
	BOOL			m_bExit;			//退出了

	CWorkDevice*	pWork[4];
	CDlgConnect*	pDlgConnect;
	CViewStatic*	pCurrentView;
	CLog			m_Log;

	CString			m_strModulePath;

	CBitmap			m_bmLeft;
	CBitmap			m_bmTop;
	CBitmap			m_bmRight;
	CBitmap			m_bmBottom;
	CBitmap			m_bmVLine;
	CBitmap			m_bmHLine;

	CToolTipCtrl	ToolTip;
	CButtonST		m_btn_start;
	CButtonST		m_btn_video;
	CButtonST		m_btn_playback;
	CButtonST		m_btn_config;
	CButtonST		m_btn_device;
	CButtonST		m_btn_exit;

	CWndButton		m_interface_save1;
	CWndButton		m_interface_save2;
	CWndButton		m_interface_save3;
	CWndButton		m_interface_save4;
	CWndButton		m_interface_review1;
	CWndButton		m_interface_review2;
	CWndButton		m_interface_review3;
	CWndButton		m_interface_review4;

	HICON			m_hIcon;
	HICON			m_hCard;
	HICON			m_hCamera;
	CImageList		imageCamera;
	HBITMAP			m_hBmp;

	HICON			m_hTray;
	NOTIFYICONDATA	nfd;
	BCMenu			TrayMenu;
	BCMenu			SCMenu;

	DWORD			m_sc_dwCardIndex;
	DWORD			m_sc_dwBrance;

public:
// Dialog Data
	//{{AFX_DATA(CDvsUserDlg)
	enum { IDD = IDD_DVSUSER_DIALOG };
	CTreeCtrl	m_video_tree;
	CListCtrl	m_video_list;
	CFlagStatic	m_view4_bar;
	CFlagStatic	m_view3_bar;
	CFlagStatic	m_view2_bar;
	CFlagStatic	m_view1_bar;
	CViewStatic	m_view4;
	CViewStatic	m_view3;
	CViewStatic	m_view2;
	CViewStatic	m_view1;
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CDvsUserDlg)
	public:
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
public:
	INT			CreateWorkDevice(int);

	// Generated message map functions
	//{{AFX_MSG(CDvsUserDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnPaint();
	afx_msg void OnBtnStart();
	afx_msg void OnBtnVideo();
	afx_msg void OnBtnPlayback();
	afx_msg void OnBtnConfig();
	afx_msg void OnBtnDevice();
	afx_msg void OnBtnExit();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnTrayMain();
	afx_msg void OnRclickVideoTree(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnShortcutRefresh();
	afx_msg void OnShortcutView1();
	afx_msg void OnShortcutView2();
	afx_msg void OnShortcutView3();
	afx_msg void OnShortcutView4();
	afx_msg void OnTimer(UINT nIDEvent);
	//}}AFX_MSG
	afx_msg INT  OnDestroyWorkDevice(WPARAM wParam, LPARAM lParam);
	afx_msg INT	 OnProgramExit(WPARAM wParam, LPARAM lParam);
	afx_msg	VOID OnShowModal(WPARAM wParam, LPARAM lParam);
	afx_msg	VOID OnMyHotKey(WPARAM wParam, LPARAM lParam);
	afx_msg VOID OnIconMsg(WPARAM wParam, LPARAM lParam);
	afx_msg VOID OnSCSwitchVideo(WPARAM wParam, LPARAM lParam);
	afx_msg	VOID OnBtnSave1();
	afx_msg	VOID OnBtnSave2();
	afx_msg	VOID OnBtnSave3();
	afx_msg	VOID OnBtnSave4();
	afx_msg	VOID OnBtnReview1();
	afx_msg	VOID OnBtnReview2();
	afx_msg	VOID OnBtnReview3();
	afx_msg	VOID OnBtnReview4();
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_DVSUSERDLG_H__D46D659F_FDFC_41CF_991A_B164F16EDC5F__INCLUDED_)

⌨️ 快捷键说明

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