Я пытаюсь получить фактические координаты мыши на экране, чтобы я мог создать собственное окно в этой позиции, но я не могу найти правильный способ сделать это правильно.
Я пробовал разные вещи, самое близкое, что у меня есть на данный момент:
this.contentMouseX and this.contentMouseY
Это дает мне координаты на текущем этапе, что хорошо, затем я добавляю к этому:
NativeApplication.nativeApplication.activeWindow.x and activeWindow.y
Что близко, но это не учитывает строку заголовка приложения.
Должен быть более простой и простой способ сделать это, я уверен, кто-нибудь может дать совет, потому что я не могу найти его в Google?
Я пробовал localToGlobal, который не работает, кажется, что «глобальный» означает в приложении, а не глобальный для экрана, который мне не нужен. Вот пример, который показывает сбой ...
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.core.Application;
private function click(evt:MouseEvent):void
{
var pt:Point = new Point( this.contentMouseX, this.contentMouseY );
var global:Point = Application.application.localToGlobal( pt );
trace( "local_x: " + pt.x + " x " + pt.y );
trace( "global_x: " + global.x + " x " + global.y );
}
]]>
</mx:Script>
<mx:HBox horizontalAlign="center" width="100%">
<mx:Button id="butt" label="Click" click="click(event)" />
</mx:HBox>
</mx:WindowedApplication>