让Shockwave flash控件响应鼠标移动的事件

捕获Flash鼠标移动事件
本文介绍了一种在Flash中捕获鼠标移动事件的方法。由于Flash使用DirectX/OpenGL技术并未利用DirectInput, 因此无法通过常规hook来获取鼠标消息。文中提供了一段代码示例,展示了如何通过重写`PreTranslateMessage`函数并处理`WM_MOUSEMOVE`消息来实现这一功能。

版权声明

请尊重原创作品。转载请保持文章完整性,并以超链接形式注明原始作者“tingsking18”和主站点地址,方便其他朋友提问和指正。

因为Flash显示部分用的DirectX/OpenGL技术 DirectX没有使用Windows消息系统,并没有使用DirectInput。所以采用hook截获不到消息。如果要波或flash的鼠标移动事件可以采用下面的办法。

在ShockwaveFlash.h中加入:

virtual BOOL PreTranslateMessage(MSG* pMsg);

在ShockwaveFlash.cpp中加入:

BEGIN_MESSAGE_MAP(CShockwaveFlash,CWnd)
//{{AFX_MSG_MAP(CShockwaveFlash)

//}}AFX_MSG_MAP
END_MESSAGE_MAP()

BOOL CShockwaveFlash::PreTranslateMessage(MSG* pMsg)
{

if(pMsg->message == WM_MOUSEMOVE)
{
//加入你的处理

}
return FALSE;
}

要设置动画播放的特定选项,请执行以下操作,完成后关闭“属性”对话框: 确保 Playing 属性设为 True。该设置使幻灯片显示时自动播放动画文件。如果 Flash 文件内置有“开始/倒带”控件,则 Playing 属性可设为 False。 如果不想让动画反复播放,请在 Loop 属性中选择 False(单击单元格以显示向下的箭头,然后单击该箭头并选择 False)。 要嵌入 Flash 文件以便将该演示文稿传递给其他人,请在 EmbedMovie 属性中单击 True。(但是,要运行 Flash 文件,任何运行该演示文稿的计算机都必须注册 Shockwave Flash Object 控件。) 要运行动画:在幻灯片的普通视图下,单击 PowerPoint 窗口左下方的“幻灯片放映”按钮(或按 F5 键,或在“幻灯片放映”菜单上单击“观看放映”)。 要退出幻灯片放映并返回普通视图,请按 ESC 键。 shockwave flash object 控件 2007-05-16 13:11 1.shockwave flash object功能 虽然从5.0版本开始Authorware就直接支持播放Flash动画(那将Flash动画嵌入Authorware应用程序的内部), 但这种支持是有限的,在Flash动画中所包含的某些功能会失效,并且当所嵌入的Flash动画比较大时,会严重影响程 序的运行速度。使用shockwave flash object 控件可以使在Authorware中加入的Flash动画保持原有的功能,但 注意此时又失去了嵌入Authorware程序内部时所能灵活设置的层数、透明的特点。因此在具体选用何种方式时要注 意根据具体情况来选择。 2.shockwave flash object的常用属性 "Loop"--是否循环播放。默认为TRUE。 "Movie"--设置要播放的动画文件名。 "Playing"--播放状态。 "Quality"--设置播放时的显示质量。可设为0~3中的一个,其对应的是0--Low(不使用抗锯齿功能以低质量播放动 画)、1--High(使用抗锯齿功能以产生高质量的着色效果,但会降低播放速度)、2--AutoLow(先不用抗锯齿功 能,但当检测到当前计算机的处理能力可以胜任抗锯齿功能时,就自动打开抗锯齿功能)、3--AutoHigh(首先使用 抗锯齿功能,但若动画播放速度达不到指定速率时就自动关闭抗锯齿功能)。默认值为1。 "ScaleMode"--设置动画的缩放模式。可设置0~2中的一个,其对应的是0--ShowAll(在缩放时保持Flash动画的 比例)、1--noBorder(在缩放时保持Flash动画的比例,必要时可进行裁剪)、2--ExactFit(不考虑Flash动画的 原始比例)。默认值为0。 3.shockwave flash object的常用方法 "Back"--向后播放。 "Forward"--向前播放。 "CurrentFrame"--获得正在播放的当前帧。 "GotoFrame"--跳到指定帧。带一个参数,是指定的帧数。 "IsPlaying"--检测是否在播放。 "Play"--播放动画。 "Rewind"--将动画反绕回第一帧。 "Stop"--停止动画的播放。 "Zoom"--缩放动画。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值