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

📄 demodlg.h

📁 服务端: 这是一个完整的基于Wince 4.1图形图象,网络通讯(C/S)模式下的商用程序源代码包.
💻 H
字号:
#if !defined(AFX_DEMODLG_H__8EB0AC01_A6DE_4914_BBB5_60AA5000A6B1__INCLUDED_)
#define AFX_DEMODLG_H__8EB0AC01_A6DE_4914_BBB5_60AA5000A6B1__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DemoDlg.h : header file
//
#include "gif89a.h"
/////////////////////////////////////////////////////////////////////////////
// CDemoDlg dialog

class CDemoDlg : public CDialog
{
// Construction
public:
	CDemoDlg(CWnd* pParent = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(CDemoDlg)
	enum { IDD = IDD_DEMO_DLG };
		// NOTE: the ClassWizard will add data members here
	//}}AFX_DATA


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CDemoDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL
private:
     //int m_show_type;//-1:default:0-text,1-pic,2-ani,3-video	
	bool m_video_finished_flag;
public:
    void SetPosSize(int x,int y,int w,int h,bool flag)
	{
		if(flag)// HWND_NOTOPMOST SWP_NOMOVE | SWP_NOOWNERZORDER HWND_TOP
			::SetWindowPos(this->m_hWnd,HWND_TOP,x,y,w,h,SWP_FRAMECHANGED|SWP_SHOWWINDOW);	
		else
			::SetWindowPos(this->m_hWnd,HWND_TOP,x,y,w,h,SWP_FRAMECHANGED|SWP_HIDEWINDOW);	      
	}
	void ShowDemoCursor(BOOL b) {ShowCursor(b);}
	//for gif
	LPCGLOBAL_INFO gi;
    LPCFRAME fm;
    //UINT m_cur_frame;
    BYTE user_myrgb[3*256];
    //BYTE myrgb[3*256];
    CGif89a gif;
	BYTE *imageData;
	 //for gif pic and gif ani
    HBITMAP LoadGifCurFrame(BYTE *imageData,LPCGLOBAL_INFO gi,LPCFRAME fm);
     //GGIF ANI 
	//CDC MemDC;
	//CBitmap tmpbmp,*oldbmp;
	//for jpeg and gif	
    //HBITMAP m_hBitmap;
	//for jpeg
    //HBITMAP LoadJpegImage(const CString& strFileName,int w,int h);
	//show text
	//show picture
	//show gif ani
	//show video
	void ShowTextFile(CString filename,int in,int out,long speed,long delaytime,TEXTPROPERTY tp);
	void ShowLeftTextFile(CString filename,int WW,int HH,long speed,long delaytime,TEXTPROPERTY tp);

	void ShowPicture(CString filename,int in,int out,long speed,long delaytime,int position);
	void ShowGifAni(CString filename,long speed,long times,int position);
	void ShowVideo(CString filename,int position);
	//
	void DemoPic(CDC &dc,CDC &MemDC,int w,int h,int fun_in,int fun_out,long speed,long delaytime);
	//
	void MySleep(long delaytime);
// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CDemoDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnPaint();
	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
	afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg void OnMove(int x, int y);
	afx_msg void OnDestroy();
	afx_msg HRESULT OnStopVideo(WPARAM wParam,LPARAM lParam);
	afx_msg HRESULT OnGraphNotify(WPARAM wParam,LPARAM lParam);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
//和媒体控制相关的成员变量
private:
	IGraphBuilder *m_pGraph; //IGraphBuilder 接口提供了生成Filter Graph相//关的方法
	IMediaControl *m_pMediaControl;
	//IMediaControl 接口提供了控制流经Filter //Graph数据流的相关方法
	IMediaEventEx *m_pEvent;
	//IMediaEventEx 继承自IMediaEvent,提供了从
	//Filter Graph 管理器获取事件消息的方法
	IVideoWindow *m_pVidWin;//
	IMediaSeeking *m_pMediaSeeking; 
	//IMediaSeeking 提供了控制流的播放位置和播放//速度的方法
	IBasicVideo   *pBV   ;
  //CString m_strMediaFile; //当前播放的媒体文件的名称
	BOOL m_isPlaying; //当前的播放状态
public:
	void MoveVideoWindow(void);

	BOOL Stop(void);
	BOOL Play(void);
    BOOL Pause(void);
	//
	void CleanUp(void);
  //
    bool IsRunning(void);  // Filter graph status
    bool IsStopped(void);
    bool IsPaused(void);

	//bool m_video_finished_flag;
	bool OnRun();
	bool OnPause();
	bool OnStop();
};

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

#endif // !defined(AFX_DEMODLG_H__8EB0AC01_A6DE_4914_BBB5_60AA5000A6B1__INCLUDED_)

⌨️ 快捷键说明

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