现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

CAnimateCtrl 动画控件的学习

2013-04-08 22:26 工业·编程 ⁄ 共 1208字 ⁄ 字号 评论 1 条

Windows 95支持一种动画控件(Animate control),动画控件可以播放AVI格式的动画片(AVI Clip),动画片可以来自一个AVI文件,也可以来自资源中。合理地使用动画控件,可以使程序的界面更加形象生动。

    MFC的CAnimateCtrl类封装了动画控件,该类的Create成员函数负责创建动画控件,其声明为:

BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );

参数dwStyle是如表11.3所示的控件风格的组合,参数rect指定了控件的尺寸,pParentWnd指向父窗口,nID是控件的ID。若创建成功则函数返回TRUE。

动画控件的风格

风格

含义

ACS_CENTER

使动画片居于控件中央,并使动画片打开后控件窗口的尺寸和位置保持不变。如果不指定该风格,则控件的尺寸会自动调整来适应动画片的大小。

ACS_TRANSPARENT

使动画片的背景透明(不输出动画片的背景色)。

ACS_AUTOPLAY

一旦打开动画片后就一直重复播放。


除表中的风格外,一般还要为动画控件指定WS_CHILD、WS_VISIBLE和WS_BORDER窗口风格。例如,要创建一个能自动播放的动画控件,应该指定其风格为WS_CHILD|WS_VISIBLE|WS_BORDER|ACS_AUTOPLAY。

用户可以向对话框模板中加入动画控件,在模板编辑器的控件面板上,动画控件是用一个电影胶片的图形来表示的。在动画控件的属性对话框中可以指定上表列出的风格。只要不指定ACS_CENTER风格,用户就不必关心动画控件的尺寸,因为在打开动画片时控件的尺寸会被自动调整成动画片的幅面大小。

CAnimateCtrl类主要的成员函数包括

BOOL Open( LPCTSTR lpszFileName );
BOOL Open( UINT nID );

Open函数从AVI文件或资源中打开动画片,如果参数lpszFileName或nID为NULL,则系统将关闭以前打开的动画片。若成功则函数返回TRUE。

BOOL Play( UINT nFrom, UINT nTo, UINT nRep );
该函数用来播放动画片。参数nFrom指定了播放的开始帧的索引,索引值必须小于65536,若为0则从头开始播放。nTo指定了结束帧的索引,它的值必须小于65536,若为-1则表示播放到动画片的末尾。nRep是播放的重复次数,若为-1则无限重复播放。若成功则函数返回TRUE。

BOOL Seek( UINT nTo );
该函数用来静态地显示动画片的某一帧。参数nTo是帧的索引,其值必须小于65536,若为0则显示第一帧,若为-1则显示最后一帧。若成功则函数返回TRUE。

BOOL Stop( );
停止动画片的播放。若成功则函数返回TRUE。

BOOL Close( );
关闭并从内存中清除动画片。若成功则函数返回TRUE。

目前有 1 条留言    访客:0 条, 博主:0 条 ,引用: 1 条

    外部的引用: 1 条

    • MFC使用CAnimateCtrl类播放动画视频 « 求索阁

    给我留言

    留言无头像?