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_)