패키지 | flash.events |
클래스 | public class ContextMenuEvent |
상속 | ContextMenuEvent Event Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
-
ContextMenuEvent.MENU_ITEM_SELECT
-
ContextMenuEvent.MENU_SELECT
관련 API 요소
속성 | 정의 주체 | ||
---|---|---|---|
bubbles : Boolean [읽기 전용]
이벤트가 버블링 이벤트인지 여부를 나타냅니다. | Event | ||
cancelable : Boolean [읽기 전용]
해당 이벤트와 연관된 비헤이비어를 차단할 수 있는지 여부를 나타냅니다. | Event | ||
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
contextMenuOwner : InteractiveObject
메뉴가 연결된 표시 목록 객체입니다. | ContextMenuEvent | ||
currentTarget : Object [읽기 전용]
이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. | Event | ||
eventPhase : uint [읽기 전용]
이벤트 흐름에서 현재 단계입니다. | Event | ||
isMouseTargetInaccessible : Boolean
mouseTarget 속성이 보안상의 이유로 null로 설정되어 있는지 여부를 나타냅니다. | ContextMenuEvent | ||
mouseTarget : InteractiveObject
사용자가 컨텍스트 메뉴를 표시하기 위해 마우스 오른쪽 버튼으로 클릭한 표시 목록 객체입니다. | ContextMenuEvent | ||
target : Object [읽기 전용]
이벤트 대상입니다. | Event | ||
type : String [읽기 전용]
이벤트 유형입니다. | Event |
메서드 | 정의 주체 | ||
---|---|---|---|
ContextMenuEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, mouseTarget:InteractiveObject = null, contextMenuOwner:InteractiveObject = null)
메뉴 이벤트에 대한 특정 정보가 포함된 Event 객체를 만듭니다. | ContextMenuEvent | ||
[재정의]
ContextMenuEvent 객체의 복사본을 하나 만들고 각 속성의 값을 원본과 동일하게 설정합니다. | ContextMenuEvent | ||
사용자 정의 ActionScript 3.0 Event 클래스에서 toString() 메서드를 구현하기 위한 유틸리티 함수입니다. | Event | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
이벤트에서 preventDefault() 메서드가 호출되었는지 여부를 확인합니다. | Event | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
이벤트의 기본 비헤이비어를 취소할 수 있는 경우, 그 비헤이비어를 취소합니다. | Event | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
이벤트 흐름에서 현재 노드 및 그 후속 노드에 있는 모든 이벤트 리스너가 처리되지 않도록 합니다. | Event | ||
이벤트 흐름에서 현재 노드의 후속 노드에 있는 모든 이벤트 리스너가 처리되지 않도록 합니다. | Event | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
[재정의]
ContextMenuEvent 객체의 속성이 모두 포함된 문자열을 반환합니다. | ContextMenuEvent | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object |
상수 | 정의 주체 | ||
---|---|---|---|
MENU_ITEM_SELECT : String = "menuItemSelect" [정적]
menuItemSelect 이벤트 객체의 type 속성 값을 정의합니다. | ContextMenuEvent | ||
MENU_SELECT : String = "menuSelect" [정적]
menuSelect 이벤트 객체의 type 속성 값을 정의합니다. | ContextMenuEvent |
contextMenuOwner | 속성 |
contextMenuOwner:InteractiveObject
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
메뉴가 연결된 표시 목록 객체입니다. 이것은 마우스 대상(mouseTarget
)이거나 표시 목록에 있는 그 조상 중 하나일 수 있습니다.
구현
public function get contextMenuOwner():InteractiveObject
public function set contextMenuOwner(value:InteractiveObject):void
isMouseTargetInaccessible | 속성 |
isMouseTargetInaccessible:Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 10 |
mouseTarget
속성이 보안상의 이유로 null
로 설정되어 있는지 여부를 나타냅니다. menuTarget
공칭 값이 다른 보안 샌드박스의 DisplayObject
에 대한 참조이면 이 보안 샌드박스 경계를 넘어 양쪽 방향에서 권한이 있지 않는 한 menuTarget
이 null
로 설정됩니다. 권한은 SWF 파일에서 Security.allowDomain()
을 호출하거나, 이미지 파일 서버에서 정책 파일을 제공하거나, 이미지를 로드할 때 LoaderContext.checkPolicyFile
플래그를 지정하여 설정됩니다.
구현
public function get isMouseTargetInaccessible():Boolean
public function set isMouseTargetInaccessible(value:Boolean):void
관련 API 요소
mouseTarget | 속성 |
mouseTarget:InteractiveObject
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
사용자가 컨텍스트 메뉴를 표시하기 위해 마우스 오른쪽 버튼으로 클릭한 표시 목록 객체입니다. 이것은 메뉴가 연결된 표시 목록 객체(contextMenuOwner
)이거나 표시 목록에 있는 그 자손 중 하나일 수 있습니다.
이 속성 값은 백그라운드에서 마우스를 클릭하는 것과 같이 마우스 대상인 없는 경우나 마우스 대상이 있는 경우 모두에서 null
일 수 있지만 액세스할 수 없는 보안 샌드박스에 있습니다. isMouseTargetInaccessible()
속성을 사용하여 이러한 이유가 적용되는지 확인할 수 있습니다.
구현
public function get mouseTarget():InteractiveObject
public function set mouseTarget(value:InteractiveObject):void
관련 API 요소
ContextMenuEvent | () | 생성자 |
public function ContextMenuEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, mouseTarget:InteractiveObject = null, contextMenuOwner:InteractiveObject = null)
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
메뉴 이벤트에 대한 특정 정보가 포함된 Event 객체를 만듭니다. Event 객체는 매개 변수로 이벤트 리스너에 전달됩니다.
매개 변수type:String — 이벤트 유형입니다. 다음 값을 사용할 수 있습니다.
| |
bubbles:Boolean (default = false ) — Event 객체가 이벤트 흐름의 버블링 단계에 참여하는지 여부를 결정합니다. 이벤트 리스너는 상속된 bubbles 속성을 통해 이 정보에 액세스할 수 있습니다.
| |
cancelable:Boolean (default = false ) — Event 객체를 취소할 수 있는지 여부를 결정합니다. 이벤트 리스너는 상속된 cancelable 속성을 통해 이 정보에 액세스할 수 있습니다.
| |
mouseTarget:InteractiveObject (default = null ) — 사용자가 컨텍스트 메뉴를 표시하기 위해 마우스 오른쪽 버튼으로 클릭한 표시 목록 객체입니다. 이것은 contextMenuOwner 이거나 표시 목록에 있는 그 자손 중 하나일 수 있습니다.
| |
contextMenuOwner:InteractiveObject (default = null ) — 메뉴가 연결된 표시 목록 객체입니다. 이것은 mouseTarget 이거나 표시 목록에 있는 그 조상 중 하나일 수 있습니다.
|
관련 API 요소
clone | () | 메서드 |
toString | () | 메서드 |
override public function toString():String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
ContextMenuEvent 객체의 속성이 모두 포함된 문자열을 반환합니다. 문자열의 형식은 다음과 같습니다.
[ContextMenuEvent type= value bubbles= value cancelable= value ... contextMenuOwner= value ]
String — ContextMenuEvent 객체의 속성이 모두 포함된 문자열입니다.
|
MENU_ITEM_SELECT | 상수 |
public static const MENU_ITEM_SELECT:String = "menuItemSelect"
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
menuItemSelect
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
contextMenuOwner | 메뉴가 연결된 표시 목록 객체입니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
mouseTarget | 사용자가 컨텍스트 메뉴를 표시하기 위해 마우스 오른쪽 버튼으로 클릭한 표시 목록 객체입니다. |
target | 선택한 ContextMenuItem 객체입니다. target은 표시 목록에서 이벤트 리스너를 등록한 객체가 아닐 수도 있습니다. 표시 목록에서 현재 이벤트를 처리 중인 객체에 액세스하려면 currentTarget 속성을 사용합니다. |
관련 API 요소
MENU_SELECT | 상수 |
public static const MENU_SELECT:String = "menuSelect"
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
menuSelect
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
contextMenuOwner | 메뉴가 연결된 표시 목록 객체입니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
mouseTarget | 사용자가 컨텍스트 메뉴를 표시하기 위해 마우스 오른쪽 버튼으로 클릭한 표시 목록 객체입니다. |
target | 표시될 ContextMenu 객체입니다. target은 표시 목록에서 이벤트 리스너를 등록한 객체가 아닐 수도 있습니다. 표시 목록에서 현재 이벤트를 처리 중인 객체에 액세스하려면 currentTarget 속성을 사용합니다. |
관련 API 요소
ContextMenuEventExample
클래스를 사용하여 스테이지에서 기본 컨텍스트 메뉴 항목을 제거하고, Stage에 있는 사각형의 색상을 변경하는 새 메뉴 항목을 추가합니다. 이는 다음 단계로 이루어집니다.
myContextMenu
속성이 선언되어 새 ContextMenu 객체에 할당되고redRectangle
속성(Sprite 유형)이 선언됩니다.removeDefaultItems()
메서드가 호출됩니다. 이 메서드는 인쇄를 제외한 모든 내장 컨텍스트 메뉴 항목을 제거합니다.addCustomMenuItems()
메서드가 호출됩니다. 이 메서드는 Array의push()
메서드를 사용하여Reverse Colors
메뉴 항목을defaultItems
배열에 배치합니다.menuItemSelect
이벤트 리스너가 ContextMenuItem 객체에 추가되고, 연관된 메서드menuItemSelectHandler()
가 호출됩니다. 이 메서드는 사용자가 컨텍스트 메뉴에서 색상 반전을 선택할 때마다trace()
문을 출력합니다. 빨간색 사각형은 검은색으로, 검은색 텍스트는 빨간색으로 반전시킵니다.- 다시 생성자에서, 컨텍스트 메뉴의 항목이 선택될 때마다 세 개의
trace()
문을 출력하는 연관된 메서드menuSelectHandler()
와 함께menuSelect
이벤트 리스너가 추가됩니다. - 생성자가 빨간색 사각형을 그리고 이를 표시 목록에 추가하는
addChildren()
을 호출하여, 사각형을 즉시 표시할 수 있도록 합니다. - 마지막으로
myContextMenu
가redRectangle
속성의 컨텍스트 메뉴에 할당되어 마우스 포인터가 사각형 위에 놓여 있을 때만 사용자 정의 컨텍스트 메뉴가 표시되도록 합니다.
package { import flash.ui.ContextMenu; import flash.ui.ContextMenuItem; import flash.ui.ContextMenuBuiltInItems; import flash.events.ContextMenuEvent; import flash.display.Sprite; import flash.display.Shape; import flash.text.TextField; public class ContextMenuEventExample extends Sprite { private var myContextMenu:ContextMenu; private var menuLabel:String = "Reverse Colors"; private var textLabel:String = "Right Click"; private var redRectangle:Sprite; private var label:TextField; private var size:uint = 100; private var black:uint = 0x000000; private var red:uint = 0xFF0000; public function ContextMenuEventExample() { myContextMenu = new ContextMenu(); removeDefaultItems(); addCustomMenuItems(); myContextMenu.addEventListener(ContextMenuEvent.MENU_SELECT, menuSelectHandler); addChildren(); redRectangle.contextMenu = myContextMenu; } private function addChildren():void { redRectangle = new Sprite(); redRectangle.graphics.beginFill(red); redRectangle.graphics.drawRect(0, 0, size, size); addChild(redRectangle); redRectangle.x = size; redRectangle.y = size; label = createLabel(); redRectangle.addChild(label); } private function removeDefaultItems():void { myContextMenu.hideBuiltInItems(); var defaultItems:ContextMenuBuiltInItems = myContextMenu.builtInItems; defaultItems.print = true; } private function addCustomMenuItems():void { var item:ContextMenuItem = new ContextMenuItem(menuLabel); myContextMenu.customItems.push(item); item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemSelectHandler); } private function menuSelectHandler(event:ContextMenuEvent):void { trace("menuSelectHandler: " + event); } private function menuItemSelectHandler(event:ContextMenuEvent):void { trace("menuItemSelectHandler: " + event); var textColor:uint = (label.textColor == black) ? red : black; var bgColor:uint = (label.textColor == black) ? black : red; redRectangle.graphics.clear(); redRectangle.graphics.beginFill(bgColor); redRectangle.graphics.drawRect(0, 0, size, size); label.textColor = textColor; } private function createLabel():TextField { var txtField:TextField = new TextField(); txtField.text = textLabel; return txtField; } } }
Tue Jun 12 2018, 03:17 PM Z