www.pudn.com > 一个可自动演示的图片控件.rar > StaticBmp.h


#if !defined(AFX_STATICBMP_H__00882374_9366_4F76_9A0D_934353CDBA62__INCLUDED_) 
#define AFX_STATICBMP_H__00882374_9366_4F76_9A0D_934353CDBA62__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
// StaticBmp.h : header file 
// 
 
#define WM_STATICBMP_PRECHANGE  WM_USER+500 
///////////////////////////////////////////////////////////////////////////// 
// CStaticBmp window 
 
class CStaticBmp : public CStatic 
{ 
// Construction 
public: 
	CStaticBmp(); 
 
// Attributes 
public: 
	enum InvalidateType 
	{	ALL=0xFFFF, 
		FORM=0x0001, 
		BMP=0x0002, 
	}; 
 
protected: 
	int		m_DelayTime;		//切换的延时时间 
	BOOL	m_bAutoDisplay;		//是否自动切换 
	BOOL	m_bDrawForm;		//是否画边框 
	COLORREF m_FormColor;		//静态框的边框颜色 
	BOOL	m_bStretch;			//图标是否拉申 
	BOOL	m_bCyc;				//是否循环显示 
	CUIntArray m_BmpIDArray;	//图片的资源ID 
	int		m_NowBmpNo;			//当前显示的图片序号 
 
// Operations 
public: 
	void SetFormColor(const COLORREF &color, BOOL bErase=TRUE); 
	COLORREF GetFormColor(); 
	void SetDrawForm(BOOL bDraw=TRUE, BOOL bErase=TRUE); 
	BOOL IsDrawForm(); 
 
	void SetBitmap(UINT IDBmp, BOOL bErase=FALSE); 
	void SetBitmap(const CUIntArray &IDBmpArray, BOOL bErase=FALSE); 
	BOOL SetNowBmp(int BmpNo, BOOL bErase=FALSE);//设定将显示的图片的列序号(从1起) 
	int  GetNowBmp(); 
	int  GetBmpAmount(); 
 
	void SetCyc(BOOL bCyc); 
	BOOL IsCyc(); 
 
	void SetAutoDisplay(BOOL bAuto=TRUE); 
	BOOL GetAutoDisplay(); 
	void SetDelayTime(int millisecond=500); 
	int  GetDelayTime(); 
 
	void SetStretchMode(BOOL bStretch=FALSE, BOOL bErase=TRUE); 
	BOOL GetStretchMode(); 
 
	void Invalidate(InvalidateType type=BMP); 
 
// Overrides 
	// ClassWizard generated virtual function overrides 
	//{{AFX_VIRTUAL(CStaticBmp) 
	protected: 
	virtual void PreSubclassWindow(); 
	//}}AFX_VIRTUAL 
 
// Implementation 
public: 
	virtual ~CStaticBmp(); 
 
	// Generated message map functions 
protected: 
	void DrawForm(CDC *pDC); 
	//{{AFX_MSG(CStaticBmp) 
	afx_msg void OnPaint(); 
	afx_msg void OnDestroy(); 
	afx_msg void OnTimer(UINT nIDEvent); 
	//}}AFX_MSG 
 
	DECLARE_MESSAGE_MAP() 
}; 
 
///////////////////////////////////////////////////////////////////////////// 
 
//{{AFX_INSERT_LOCATION}} 
// Microsoft Visual C++ will insert additional declarations immediately before the previous line. 
 
#endif // !defined(AFX_STATICBMP_H__00882374_9366_4F76_9A0D_934353CDBA62__INCLUDED_)