| Paquete | flash.ui |
| Clase | public final class ContextMenu |
| Herencia | ContextMenu EventDispatcher Object |
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Puede asociar un objeto ContextMenu a un botón, un clip de película u objeto de campo de texto específico, o bien a todo un nivel de una película. Para ello, deberá utilizar la propiedad menu de las clases Button, MovieClip o TextField. Para más información sobre la propiedad menu, consulte Button.menu, MovieClip.menu y TextField.menu.
Para añadir nuevos elementos a un objeto ContextMenu, cree un objeto ContextMenuItem y, a continuación, añádalo a la matriz ContextMenu.customItems. Para más información sobre la creación de elementos de menús contextuales, consulte la entrada de la clase ContextMenuItem.
Flash Player dispone de tres tipos de menús contextuales: el menú estándar (que aparece al hacer clic con el botón derecho del ratón en Flash Player), el menú de edición (que aparece al hacer clic con el botón derecho del ratón en un campo de texto seleccionable o editable) y un menú de error (que aparece cuando un archivo SWF no logra cargarse en Flash Player.) Sólo los menús estándar y de edición pueden modificarse con la clase ContextMenu.
Los elementos de menú personalizados siempre aparecen en la parte superior del menú contextual de Flash Player, por encima de los elementos de menú incorporados que estén visibles; una barra separadora permite distinguir los elementos de menú incorporados de los personalizados. Puede añadir un máximo de 15 elementos personalizados a un menú contextual. No es posible quitar el elemento de menú Configuración del menú contextual. El elemento de menú Configuración es necesario para que los usuarios de Flash puedan acceder a la configuración que afecta a la privacidad y al almacenamiento en sus equipos. El elemento de menú Acerca de tampoco se puede quitar, ya que es necesario para que los usuarios puedan conocer la versión de Flash Player que están utilizando.
Debe emplear el constructor ContextMenu() para crear un objeto ContextMenu antes de llamar a sus métodos.
Véase también
| Propiedad | Definido por | ||
|---|---|---|---|
| builtInItems : ContextMenuBuiltInItems
Un objeto que tiene las propiedades siguientes de la clase ContextMenuBuiltInItems: forwardAndBack, loop, play, print, quality, rewind, save y zoom.
| ContextMenu | ||
![]() | constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada.
| Object | |
| customItems : Array
Una matriz de objetos ContextMenuItem.
| ContextMenu | ||
![]() | prototype : Object
[static]
Una referencia al objeto prototipo de una clase u objeto de función.
| Object | |
| Método | Definido por | ||
|---|---|---|---|
|
Crea un objeto ContextMenu.
| ContextMenu | ||
![]() |
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un objeto de detector de eventos con un objeto EventDispatcher, de modo que el detector reciba la notificación de un evento.
| EventDispatcher | |
|
Crea una copia del objeto ContextMenu especificado.
| ContextMenu | ||
![]() |
Distribuye un evento en el flujo del evento.
| EventDispatcher | |
![]() |
Comprueba si el objeto EventDispatcher tiene detectores registrados para un tipo concreto de evento.
| EventDispatcher | |
![]() |
Indica si un objeto tiene definida una propiedad especificada.
| Object | |
|
Oculta todos los elementos de menú incorporados (salvo Configuración) del objeto ContextMenu especificado.
| ContextMenu | ||
![]() |
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro.
| Object | |
![]() |
Indica si existe la propiedad especificada y si es enumerable.
| Object | |
![]() |
Elimina un detector del objeto EventDispatcher.
| EventDispatcher | |
![]() |
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle.
| Object | |
![]() |
Devuelve la representación de cadena del objeto especificado.
| Object | |
![]() |
Devuelve el valor simple del objeto especificado.
| Object | |
![]() |
Comprueba si hay registrado un detector de eventos con este objeto EventDispatcher o con cualquiera de sus ascendientes para el tipo de evento concreto.
| EventDispatcher | |
| Evento | Resumen | Definido por | ||
|---|---|---|---|---|
![]() | Se distribuye cuando Flash Player queda seleccionado por el sistema operativo y pasa a estar activo. | EventDispatcher | ||
![]() | Se distribuye cuando Flash Player deja de estar seleccionado por el sistema operativo y pasa a estar inactivo. | EventDispatcher | ||
| Se distribuye cuando el usuario genera por primera vez un menú contextual, pero antes de que se muestre su contenido. | ContextMenu | |||
| builtInItems | propiedad |
builtInItems:ContextMenuBuiltInItems [read-write]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Un objeto que tiene las propiedades siguientes de la clase ContextMenuBuiltInItems: forwardAndBack, loop, play, print, quality, rewind, save y zoom. La configuración de estas propiedades con el valor false quita los elementos de menú correspondientes del objeto ContextMenu especificado. Estas propiedades son enumerables y están configuradas con el valor true de manera predeterminada.
public function get builtInItems():ContextMenuBuiltInItems
public function set builtInItems(value:ContextMenuBuiltInItems):void
Véase también
| customItems | propiedad |
customItems:Array [read-write]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Una matriz de objetos ContextMenuItem. Cada objeto de la matriz representa un elemento del menú contextual que ha definido. Utilice esta propiedad para añadir, quitar o modificar estos elementos de menú personalizados.
Para añadir nuevos elementos al menú, cree un objeto ContextMenuItem y luego añádalo a la matriz customItems (por ejemplo, utilizando Array.push()). Para más información sobre la creación de elementos de menú, consulte la entrada de la clase ContextMenuItem.
public function get customItems():Array
public function set customItems(value:Array):void
Véase también
| ContextMenu | () | constructor |
public function ContextMenu()
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Crea un objeto ContextMenu.
Véase también
| clone | () | método |
public function clone():ContextMenu
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Crea una copia del objeto ContextMenu especificado. La copia hereda todas las propiedades del objeto de menú original.
Valor devueltoContextMenu — Un objeto ContextMenu que contiene todas las propiedades del objeto de menú original.
|
| hideBuiltInItems | () | método |
public function hideBuiltInItems():void
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Oculta todos los elementos de menú incorporados (salvo Configuración) del objeto ContextMenu especificado. Si se está en ejecución la versión del depurador de Flash Player, se mostrará el elemento de menú Depuración, aunque éste estará atenuado para archivos SWF que no tengan activada la depuración remota.
Este método oculta sólo los elementos de menú que aparecen en el menú contextual estándar; no afecta a los elementos que aparecen en los menús de edición y de error.
Este método funciona configurando todos los miembros booleanos de my_cm.builtInItems como false. Puede seleccionar los elementos incorporados que deben estar visibles configurando su correspondiente miembro en my_cm.builtInItems como true.
Véase también
| menuSelect | Evento |
flash.events.ContextMenuEvent
flash.events.ContextMenuEvent.MENU_SELECT
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Se distribuye cuando el usuario genera por primera vez un menú contextual, pero antes de que se muestre su contenido. De este modo, el programa puede modificar la definición de los elementos del menú contextual antes de mostrarlo. El usuario genera el menú contextual al hacer clic con el botón derecho del dispositivo de señalización.
Define el valor de la propiedadtype de un objeto de evento menuSelect.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
contextMenuOwner | El objeto de la lista de visualización al que se asocia el menú. |
currentTarget | El objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
mouseTarget | El objeto de la lista de visualización en el que el usuario hace clic con el botón derecho para mostrar el menú contextual. |
target | El objeto ContextMenu que se va a mostrar. El destino no siempre es el objeto de la lista de visualización que registró el detector de eventos. Utilice la propiedad currentTarget para acceder al objeto de la lista de visualización que está procesando el evento actualmente. |
ContextMenuExample para eliminar del escenario los elementos de menú contextual predeterminados y añadir un elemento nuevo, el cual, si se hace clic en él, cambia el color de un cuadrado en el escenario. Esto se consigue con los pasos siguientes:
myContextMenu y, a continuación, se asigna a un objeto ContextMenu nuevo y se declara una propiedad redRectangle de tipo Sprite.removeDefaultItems(), que elimina todos los elementos incorporados en el menú contextual salvo Print.addCustomMenuItems(), que coloca el elemento de menú de selección de menú Red to Black en la matriz defaultItems a través del método push() de la clase Array. Se añade un detector de eventos menuItemSelect al objeto ContextMenuItem y se llama al método asociado menuItemSelectHandler(). Este método imprime determinadas sentencias mediante trace() siempre que se accede al menú contextual y se selecciona Red to Black. Asimismo, se elimina el cuadrado de color rojo y se sustituye por uno de color negro.menuSelect, junto con el método asociado menuSelectHandler, que simplemente imprime tres sentencias a través de trace() siempre que se abre un elemento del menú contextual.addChildren() dibuja un cuadrado de color rojo y lo añade a la lista de visualización, donde aparece inmediatamente.myContextMenu se asigna al menú contextual del elemento sprite redRectangle, de modo que el menú contextual personalizado sólo aparezca cuando el puntero del ratón se encuentre sobre el cuadrado.
package {
import flash.ui.ContextMenu;
import flash.ui.ContextMenuItem;
import flash.ui.ContextMenuBuiltInItems;
import flash.events.ContextMenuEvent;
import flash.events.ContextMenuEvent;
import flash.display.Sprite;
import flash.display.Shape;
import flash.text.TextField;
public class ContextMenuExample 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 ContextMenuExample() {
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;
}
}
}
Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios
Página actual: http://livedocs.adobe.com/flash/9.0_es/ActionScriptLangRefV3/flash/ui/ContextMenu.html