怎样给FLASH控件加上鼠标的MOVE事件?(50分)

  • 主题发起人 主题发起人 漠风
  • 开始时间 开始时间

漠风

Unregistered / Unconfirmed
GUEST, unregistred user!
FLASH控件里没有MOUSEMOVE事件,能不能给它加一个.
 
on(rollOver)
 
具体点行吗?
 
用swish 这个软件里面有mousemove事件
 
拦截其CM_MOUSEMOVE事件

自己进行处理
 
Tcontrol有一个public属性:windowProc,用它可以读取或替换此Tcontrol的消息处理函数,
所以我们可以在适当的地方替换掉windowProc,在新的wndProc里写:

begin

case message.msg of
CM_MOUSEMOVE:......//MOUSE事件
CM_MOUSEENTER:。。。。//进入
。。。
end;

oldwndproc(message);
//原来的windowProc,不要忘了。
end;

 
这对我来是说是个难问题,以前没接触过此类问题。我还想听听专家的意见。
 
hehe 最简单的办法就是在Flash内部脚本写move事件,然后发消息通知主程序[8D]
 
在界面上放置一个TApplicationEvents控件(Delphi的Additional页中),然后在
OnMessage中即可拦截windows的消息,如拦截mouse move消息:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin

if Msg.message=CM_MOUSEMOVE then
begin

//这里加自己的处理代码...
end;

end;



 
接受答案了.
 
后退
顶部