www.pudn.com > ViewVideo1.rar > VideoWnd.h


#pragma once 
 
 
// CVideoWnd 对话框 
#ifndef _VIEW_PREVIEW_WND 
#define _VIEW_PREVIEW_WND 
 
#include ".\HKLIB\HikVisionSdk.h" 
#include "resource.h" 
#define MAX_DSPS_SUPPORT       24 
#define MAX_CHANNELS           24 
#define MAX_VIDEO_WNDS        512 
 
//#define NONDEVICE_DEBUG 
 
extern COLORREF gBackgroundColor; 
 
#define WM_VIDEOWND_LBDOWN    WM_USER+1001 
#define WM_VIDEOWND_LBUP      WM_USER+1002 
#define WM_VIDEOWND_MOUSEMOVE WM_USER+1003 
#define WM_VIDEOWND_LBDBCLICK WM_USER+1004 
 
class CVideoWnd : public CDialog 
{ 
	//DECLARE_DYNAMIC(CVideoWnd) 
 
private: 
	HANDLE m_hChannel; 
	CWnd *pWnd; 
	CString m_strError; 
 
	CBrush m_brush; 
	BOOL m_bLBDown; 
	int m_ipx; 
	int m_ipy; 
	VideoStandard_t m_lStandard;  //视频制式 
 
 
	BOOL m_bNotify; 
public: 
    //有关视频预览的属性值 
	//需要初始化的值 
	int m_iChannel;               //通道号 
	int m_iFrameRate;             //采样频率 
	//可以实时调整的值 
	int	m_iBrightness;            //亮度 
	int	m_iContrast;              //对比度 
	int	m_iHue;                   //色调 
	int	m_iSaturation;            //饱和度 
	/////////////////////////////////////////////// 
	//,系数越低质量越好,取值范围(12-30),一般取值法为: 
	//取I帧和P帧一样大,B帧比它们大3到5,例如:15,15,20和 
	//18,18,23,这里系统默认值为18,18,23; 2.0版支持高 
	//清晰度图像设定,推荐值为:12 12 17并可在运行时设定。  
	//DS-400xH 系列 SDK 说明书 9海康威视技术文档(版权所有) 
	//注:量化系数解释:量化系数是强烈影响MPEG标准中编码图像 
	//质量和码率的参数,当量化系数越低,图像质量就会越高,码 
	//率也就越高,反之,图形质量就会越低,码率也就越低。 
	int m_iIval;                  //I帧质量量化系数 
	int m_iPval;                  //P帧质量量化系数 
	int m_iBval;                  //B帧质量量化系数 
	/////////////////////////////////////////////// 
	//在某一制式的摄像头已经接好的情况下启动系统时可不必调用 
	//该函数,如果没有接摄像头的情况下启动系统然后再接NTSC制 
	//式的摄像头则必须调用该函数,或者中途调换不同制式的摄像 
	//头也必须调用该函数 
	BOOL m_bPreviewStarted; 
	BOOL StartPreview(); 
	BOOL StopPreview(); 
	CString GetLastError(int errnumb=HWERR_SUCCESS); 
 
public: 
	CVideoWnd(CWnd* pParent = NULL);   // 标准构造函数 
	CVideoWnd(HANDLE handle, CWnd* pParent);   // 标准构造函数 
	void SetHandle(HANDLE handle){m_hChannel=handle;} 
	HANDLE GetHandle(){return m_hChannel;} 
	virtual ~CVideoWnd(); 
 
// 对话框数据 
	enum { IDD = IDD_DIALOG_VWND }; 
 
protected: 
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持 
 
	DECLARE_MESSAGE_MAP() 
public: 
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); 
public: 
	virtual BOOL Create(LPCTSTR lpszTemplateName, CWnd* pParentWnd = NULL); 
public: 
	afx_msg void OnBnClickedOk(); 
public: 
	afx_msg void OnBnClickedCancel(); 
public: 
	afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); 
public: 
	afx_msg void OnMove(int x, int y); 
	afx_msg void OnSize(UINT nType, int cx, int cy); 
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point); 
	afx_msg void OnLButtonUp(UINT nFlags, CPoint point); 
	afx_msg void OnMouseMove(UINT nFlags, CPoint point); 
	//afx_msg void OnDestory(); 
public: 
	afx_msg void OnClose(); 
public: 
	afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point); 
	afx_msg LRESULT OnNotifyFlagYes(WPARAM wParam, LPARAM lParam); 
	afx_msg LRESULT OnNotifyFlagNo(WPARAM wParam, LPARAM lParam); 
}; 
#endif