| 패키지 | 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):voidisMouseTargetInaccessible | 속성 |
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
상속되는 공용 속성 숨기기
상속되는 공용 속성 표시