极语言官方网站

影音动画——使用简介

动画控件是显示交错Audio-Video (AVI) 剪辑的窗口。AVI 剪辑是一系列位图帧,如电影。

动画控件只能显示不包含音频的 AVI 剪辑。

动画控件的一个常见用途是在长时间操作期间指示系统活动。

这是可能的,因为操作线程在显示 AVI 剪辑时继续执行。

例如,Windows 资源管理器的“查找”对话框在系统搜索文件时显示一个移动的放大镜。

动画控件可以显示源自未压缩 AVI 文件或使用运行长度 (BI_RLE8) 编码压缩的 AVI 文件的 AVI 剪辑。

可以将 AVI 剪辑作为 AVI 资源添加到应用程序,也可以将剪辑作为单独的 AVI 文件随应用程序一起。


关于动画控件消息

应用程序将消息发送到动画控件,以打开、播放、停止和关闭相应的 AVI 剪辑。

每条消息都有一个或多个宏,你可以使用这些宏,而不是显式发送消息。

创建动画控件后,应用程序发送 动画打开文件 消息以打开 AVI 剪辑并将其加载到内存中。

该消息指定 AVI 文件的路径或 AVI 资源的名称。 系统从创建动画控件的模块加载 AVI 资源。

如果动画控件具有 动画开始播放 样式,则控件在打开 AVI 文件或 AVI 资源后立即开始播放 AVI 剪辑。

否则,应用程序可以使用 动画开始播放 消息启动 AVI 剪辑。

应用程序可以通过发送 动画停止播放 消息随时停止剪辑。

当控件完成播放 AVI 剪辑或发送 ACM_STOP 时,播放的最后一帧将保持显示状态。

动画控件可以向其父窗口发送两个通知代码: 动画开始事件 和 动画停止事件。大多数应用程序不处理任一通知。

若要关闭 AVI 文件或 AVI 资源并将其从内存中删除,

应用程序可以发送 动画打开文件 消息,并将文件名或资源名称设置为 NULL。

发送消息(影音,动画打开文件,0,"D:\sec.avi")打开视频文件

发送消息(影音,动画开始播放,1,$FFFF0000)播放视频文件

发送消息(影音,动画停止播放,0,0)停止播放视频文件


默认消息处理

本部分介绍动画窗口类在窗体消息 的窗口过程 处理的窗口消息。

中文名字英文名称长度作用解释
窗口关闭WM_CLOSE0x10释放与动画控件关联的 AVI 文件或 AVI 资源。
程序关闭WM_DESTROY0x2释放 AVI 文件或 AVI 资源,释放内部数据结构,然后调用 处理窗口 函数。
擦除背景WM_ERASEBKGND0x14使用静态控件的当前背景色擦除窗口背景。
首创窗口WM_NCCREATE0x81分配并初始化内部数据结构,然后调用 处理窗口。
区外鼠标WM_NCHITTEST0x84返回 HTTRANSPARENT 命中测试值。
窗口重绘WM_PAINT0xF在动画控件中绘制 AVI 帧。
窗口缩放WM_SIZE0x5检查控件是否具有 ACS_CENTER 样式。 如果控件没有,它将调用 处理窗口。 否则,它会使动画在控件中居中,使控件失效,然后调用 处理窗口。

单击按钮事件的高位值为事件代码
中文名字常量数值英文名称释义
通知消息——常数表
动画开始事件1ACN_START通知动画控件的父窗口关联的AVI剪辑已开始播放。③参数:标识/代码;④数据:控件
动画停止事件2ACN_STOP通知动画控件的父窗口关联的 AVI 剪辑已停止播放。 ③参数:标识/代码;④数据:控件
发送消息——常数表
动画打开文件$464ACM_OPENA打开 AVI 剪辑并在动画控件中显示其第一帧。③参数:0/实例;④数据:路径/资源标识
动画开始播放$465ACM_PLAY在动画控件中播放 AVI 剪辑。 ③参数:次数,-1无限;④数据:开头/结尾
动画停止播放$466ACM_STOP停止在动画控件中播放 AVI 剪辑。 ③参数:0;④数据:0
动画视频文件$467ACM_OPENW打开 AVI 剪辑并在动画控件中显示其第一帧。③参数:0/实例;④数据:路径/资源标识
动画是否播放$468      ACM_ISPLAYING检查是否正在播放AVI剪辑。 ③参数:0;④数据:0

影音动画——控件样式:

中文名字英文名称数值释义
居中显示ACS_CENTER1动画在动画控件的窗口中居中。
控件透明ACS_TRANSPARENT2允许将动画的背景色与基础窗口的背景色匹配,从而创建“透明”背景。
自动播放ACS_AUTOPLAY4打开 AVI 剪辑后立即开始播放动画。
内部控制ACS_TIMER8默认控件创建一个线程来播放AVI剪辑。设置此标志,控件在内部使用 Win32 计时器来同步播放。