2011-01-14 4 views
0

내가 컨텍스트 메뉴를 만들 때 사용자가 항목을 클릭하면 contextmenuitem의 x와 y 좌표를 얻고 싶습니다 ............ actully 저는 dispaly하고 싶습니다. 사용자가 항목을 클릭 할 때 상황에 맞는 텍스트 상자 ........ 또는 상황에 맞는 메뉴에서 입력 텍스트 컨트롤을 submenuitem으로 표시하는 다른 솔루션ContextMenuItem을 얻는 방법 x와 y 좌표

+0

당신이 하나를 알아낼 않았다? 아래 답변 중 하나가 도움이 되었습니까? 그렇다면 올바른 것을 받아들이십시오. – goliatone

답변

0

각 메뉴 항목에 이벤트 수신기를 추가하십시오.

contextmenuItem.addEventListener (MouseEvent.CLICK, onItemClick); 

function onItemClick (ev:MouseEvent) : void { 
    var item:DisplayObject = ev.target as DisplayObject; 
    // use item.x and item.y to get the object's position. 
} 
+0

어, 제가 질문을 잘못 이해 한 것 같습니다 ... ContextMenuItems는 DisplayObject를 확장하지 않습니다. – goliatone

+0

@Goliatone : 남자가 말한다 : 나는 contextmenu를 만들었다. 그래서 저는 그것이 실제로 플래시 플레이어에서 열리는 것이 아니라 그가 실제로 만든 것임을 알게되었습니다. 무대 위에있는 것은 DisplayObject를 확장합니다. – weltraumpirat

+0

아마 맞습니다! 단지 그가 원어민이 아니며 제 해석이었을 것입니다. 그렇게 부정적으로 읽을 주석을 의미하지는 않았다. – goliatone

1

유일한 방법 내가 생각할 수 : 당신의 DisplayObject에 캐스팅 할 필요, 당신은 x 및 y 좌표에 액세스 할 수 있습니다 - 리스너 함수에서 이벤트의 대상 객체를 사용하면 클릭 객체입니다 일을 당신을 위해 무엇을 요구하는 것은 :

  • 캡처 이벤트를 마우스 오른쪽 버튼으로 클릭하고 그들을를 통해 플래시 앞으로 자바 스크립트로 HTML 컨테이너에서 마우스 오른쪽 버튼을 클릭 마우스를 허용하지ExternalInterface

  • ExternalInterface에서 트리거 된 메서드에서 은 원하는 것을 수행/표시합니다.

일부 오픈 소스 솔루션이 있습니다

관련 문제