videownd.h

来自「一个简单的视频会议VC++MFC工程文件」· C头文件 代码 · 共 83 行

H
83
字号
#if !defined(AFX_VIDEOWND_H__2D780DDC_26E5_4561_91CC_53BCF9292071__INCLUDED_)
#define AFX_VIDEOWND_H__2D780DDC_26E5_4561_91CC_53BCF9292071__INCLUDED_
#include <afxmt.h>
#include <VFW.h>
#include "resource.h"
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// VideoWnd.h : header file
//

//Video buffer class
class CVideoBuffer
{
public:
	CVideoBuffer();
	~CVideoBuffer();

	BYTE *GetBuffer(int w=0,int h=0);
	void ReleaseBuffer();

	void CleanUpBuffer();

protected:

	void *m_buf;
	int m_w;
	int m_h;
	CMutex m_mutex;

};

/////////////////////////////////////////////////////////////////////////////
// CVideoWnd window

class CVideoWnd : public CWnd
{
// Construction
public:
	CVideoWnd();	
	virtual ~CVideoWnd();
	BOOL Create(CWnd* pParentWnd, DWORD dwExStyle,LPCTSTR lpszWindowName,DWORD dwStyle,int x, int y, int nWidth, int nHeight);
	BYTE * GetBuffer(int w,int h);
	BOOL ReleaseBuffer();
	
// Attributes
public:

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CVideoWnd)
	//}}AFX_VIRTUAL

// Implementation
public:
	UINT m_menuID;
	
	BOOL m_bSizeChanged;
	BITMAPINFO m_bmi;
	HDRAWDIB m_hDrawDIB;
	CVideoBuffer m_buffer;

	// Generated message map functions
protected:
	//{{AFX_MSG(CVideoWnd)
	afx_msg BOOL OnEraseBkgnd(CDC* pDC);
	afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnDestroy();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

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

#endif // !defined(AFX_VIDEOWND_H__2D780DDC_26E5_4561_91CC_53BCF9292071__INCLUDED_)

⌨️ 快捷键说明

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