1

マウス クリック画面の座標を取得したい (AIR アプリケーション ウィンドウの外側をクリックして)

次のことを試しましたが、何も得られません。ScreenMouseEvent.CLICK イベントがディスパッチされていないようです。

public function Main():void 
{   
if (NativeApplication.supportsSystemTrayIcon)//testExpression return true 
    {            
         SystemTrayIcon(NativeApplication.nativeApplication.icon).
         addEventListener(ScreenMouseEvent.CLICK, click);
    }
}

private function click(e:ScreenMouseEvent):void 
{
      trace(e.screenX);//nothing displayed :(
}   
4

1 に答える 1

0

はのみScreenMouseEventによってディスパッチされSystemTrayIconます (Windows/Linux のみ)。そして、SystemTrayIconインスタンス ( DockIconMacO 用) は から取得されNativeApplication.nativeApplication.iconます。
したがって、トレイ アイコンのグラフィックを指定した後、ここにイベント リスナーをアタッチする必要があります。

var sti:SystemTrayIcon = NativeApplication.nativeApplication.icon as SystemTrayIcon;
// Specifying an icon is obligatory on Windows - MacOs has a default icon
sti.bitmaps = [new IconAsset()]; // IconAsset = Embedded picture
sti.addEventListener(ScreenMouseEvent.CLICK, mouseClick);

screenXの結果とscreenYプロパティはScreenMouseEvent、デスクトップ画面全体ではなく、トレイのアイコン領域内に限定されることに注意してください(これは、最初にイベントを追加した場所であるため、当然のことです)。

于 2013-04-08T23:57:58.783 に答える