#include <UiGif.h>
继承自UiWin。
组合类型 | |
struct | MZGIF_GCEHEADER |
struct | MZGIF_IMGDESC |
struct | MZGIF_LSD |
公有成员 | |
DWORD | GetFrameCount () |
获取图片帧数 | |
WORD | GetFrameHeight () |
获取图片高度 | |
WORD | GetFrameWidth () |
获取图片宽度 | |
BOOL | Load (LPCTSTR filename, BOOL bBuffering=TRUE) |
int | OnTimer (UINT_PTR nIDEvent) |
当Timer到达时,此函数会被调用. | |
void | PaintWin (HDC hdc, RECT *prcWin, RECT *prcUpdate) |
绘制控件 | |
int | SetDrawParm (DWORD dwMode=MZGIF_DRAW_ORIGIN, DWORD dwFlag=MZGIF_ALIGN_CENTER|MZGIF_ALIGN_VCENTER, int iCount=0) |
设置gif绘图参数 | |
int | Start () |
int | StaticDraw (HDC hdc, const RECT *prcDest, const RECT *prcSrc, DWORD dwFrameNum) |
int | Stop () |
停止播放 | |
UiGif (LPCTSTR filename, BOOL bBuffering=TRUE) | |
UiGif () | |
BOOL | Unload () |
卸载gif文件 | |
virtual | ~UiGif () |
保护类型 | |
typedef struct UiGif::MZGIF_GCEHEADER * | LPMZGIF_GCEHEADER |
typedef struct UiGif::MZGIF_IMGDESC * | LPMZGIF_IMGDESC |
typedef struct UiGif::MZGIF_LSD * | LPMZGIF_LSD |
保护成员 | |
DWORD | GetGCEHeader (DWORD dwFrameNum, LPMZGIF_GCEHEADER pMZGifGCEHeader) |
DWORD | GetImageDesc (DWORD dwFramNum, LPMZGIF_IMGDESC pMZGifImgDesc) |
DWORD | GetLSD (LPMZGIF_LSD pMZGifLSD) |
保护属性 | |
BOOL | m_bBuffering |
DWORD | m_dwCurFrame |
DWORD | m_dwFlag |
DWORD | m_dwMode |
DWORD | m_dwTotalFrame |
HDC | m_hdcMem |
int | m_iCount |
int | m_iCountSave |
MZGIF_LSD | m_lsd |
CGifImage * | m_pGif |
HBITMAP * | m_phBmp |
WORD * | m_pwDiffDelay |
WORD | m_wSameDelay |
typedef struct UiGif::MZGIF_GCEHEADER * UiGif::LPMZGIF_GCEHEADER [protected] |
typedef struct UiGif::MZGIF_IMGDESC * UiGif::LPMZGIF_IMGDESC [protected] |
typedef struct UiGif::MZGIF_LSD * UiGif::LPMZGIF_LSD [protected] |
UiGif::UiGif | ( | ) |
UiGif::UiGif | ( | LPCTSTR | filename, | |
BOOL | bBuffering = TRUE | |||
) |
使用缓存绘制速度更快 但消耗较多内存 buffering will draw faster but cosume more memory
virtual UiGif::~UiGif | ( | ) | [virtual] |
DWORD UiGif::GetFrameCount | ( | ) | [inline] |
获取图片帧数
WORD UiGif::GetFrameHeight | ( | ) | [inline] |
获取图片高度
WORD UiGif::GetFrameWidth | ( | ) | [inline] |
获取图片宽度
DWORD UiGif::GetGCEHeader | ( | DWORD | dwFrameNum, | |
LPMZGIF_GCEHEADER | pMZGifGCEHeader | |||
) | [protected] |
DWORD UiGif::GetImageDesc | ( | DWORD | dwFramNum, | |
LPMZGIF_IMGDESC | pMZGifImgDesc | |||
) | [protected] |
DWORD UiGif::GetLSD | ( | LPMZGIF_LSD | pMZGifLSD | ) | [protected] |
BOOL UiGif::Load | ( | LPCTSTR | filename, | |
BOOL | bBuffering = TRUE | |||
) |
加载gif文件 使用缓存绘制速度更快 但消耗较多内存 buffering will draw faster but cosume more memory
int UiGif::OnTimer | ( | UINT_PTR | nIDEvent | ) | [virtual] |
当Timer到达时,此函数会被调用.
重载UiWin。
void UiGif::PaintWin | ( | HDC | hdcDst, | |
RECT * | prcWin, | |||
RECT * | prcUpdate | |||
) | [virtual] |
绘制控件
重载此函数可以自定义控件的绘制
hdcDst | 目的DC | |
prcWin | 控件所在区域(以HDC的左上角为原点) | |
prcUpdate | 需要更新的区域(以HDC的左上角为原点) |
重载UiWin。
int UiGif::SetDrawParm | ( | DWORD | dwMode = MZGIF_DRAW_ORIGIN , |
|
DWORD | dwFlag = MZGIF_ALIGN_CENTER|MZGIF_ALIGN_VCENTER , |
|||
int | iCount = 0 | |||
) |
设置gif绘图参数
dwMode | 原样、拉伸和平铺。请参看宏定义注释 | |
dwFlag | 对齐方式、X、Y轴翻转. 可使用 OR 联结 请参看宏定义注释 | |
iCount | 播放次数 0 为不限次播放 |
int UiGif::Start | ( | ) |
开始播放. 此函数必须在AddUiWin之后调用. This function must be called AFTER calling AddUiWin()
int UiGif::StaticDraw | ( | HDC | hdc, | |
const RECT * | prcDest, | |||
const RECT * | prcSrc, | |||
DWORD | dwFrameNum | |||
) |
静态绘制某帧到hdc上 prcSrc 若为NULL, 则RECT为gif的大小. 在使用非缓冲时,prcSrc始终从0,0开始. dwFrameNum 从1开始
int UiGif::Stop | ( | ) |
停止播放
BOOL UiGif::Unload | ( | ) |
卸载gif文件
BOOL UiGif::m_bBuffering [protected] |
DWORD UiGif::m_dwCurFrame [protected] |
DWORD UiGif::m_dwFlag [protected] |
DWORD UiGif::m_dwMode [protected] |
DWORD UiGif::m_dwTotalFrame [protected] |
HDC UiGif::m_hdcMem [protected] |
int UiGif::m_iCount [protected] |
int UiGif::m_iCountSave [protected] |
MZGIF_LSD UiGif::m_lsd [protected] |
CGifImage* UiGif::m_pGif [protected] |
HBITMAP* UiGif::m_phBmp [protected] |
WORD* UiGif::m_pwDiffDelay [protected] |
WORD UiGif::m_wSameDelay [protected] |