Curso AS3

Mouse wheel para Flex no Mac OSX

Meu micro principal é um Macbook, e desenvolvendo uma aplicação em Flex a falta do suporte ao Mouse wheel estava me chateando e resolvi partir para uma solução.

Encontrei diversas soluções, mas somente uma automática, que é o que eu preciso, habilitar o suporte a mouse wheel na aplicação. A solução foi encontrada no hasseg.org, muito simples de ser aplicado.

Primeiro inclua o javascript no html da página.
Obs: O swf está sendo incluído via SWFObject.

<script type="text/javascript"> 
    var mw_flashMovieId = "flashMovie"; //id do seu swf
    var mw_flashContainerId = "flashContainerDiv"; //id da div do seu swf
</script>
<script src="osxmousewheel.js" type="text/javascript"></script>

No Actionscript da sua applicação Flex:

import org.hasseg.externalMouseWheel.*;
private var _mwSupport:ExternalMouseWheelSupport = ExternalMouseWheelSupport.instance;
 
ExternalMouseWheelSupport.registerAutomatically = true;

Pronto! Já está com o suporte ao mouse wheel e você pode também adicionar listener normalmente:

myBox.addEventListener(MouseEvent.MOUSE_WHEEL, function(event:MouseEvent):void {
    t.text = ("Mouse wheel delta: "+event.delta);
});

Exemplo rodando.

Código fonte do exemplo com o javascript e package dos scripts necessários.

E ainda uma documentação.

Leave a Reply