Pacchettoflash.ui
Classepublic final class ContextMenu
EreditarietàContextMenu Inheritance EventDispatcher Inheritance Object

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

La classe ContextMenu consente di controllare le voci del menu di scelta rapida di Flash Player. Gli utenti aprono il menu di scelta rapida facendo clic con il pulsante destro (Windows) oppure facendo clic e tenendo premuto il tasto Ctrl (Macintosh) in Flash Player. È possibile utilizzare i metodi e le proprietà della classe ContextMenu per aggiungere voci di menu personalizzate, per controllare la visualizzazione delle voci dei menu di scelta rapida (ad esempio, Ingrandisci e Stampa) o per creare copie dei menu.

È possibile associare un oggetto ContextMenu a uno specifico oggetto pulsante, clip filmato o campo di testo, oppure a un intero livello di filmato. A tale scopo, utilizzare la proprietà menu della classe Button, MovieClip o TextField. Per ulteriori informazioni sulla proprietà menu, vedere Button.menu, MovieClip.menu e TextField.menu.

Per aggiungere nuovi elementi a un oggetto ContextMenu, creare un oggetto ContextMenuItem e successivamente aggiungerlo all'array ContextMenu.customItems. Per ulteriori informazioni sulla creazione delle voci dei menu di scelta rapida, consultare la sezione relativa alla classe ContextMenuItem.

Flash è dotato di tre tipi di menu di scelta rapida: il menu standard (visualizzato quando si fa clic con il pulsante destro del mouse in Flash Player), il menu Modifica (visualizzato quando si fa clic con il pulsante destro del mouse su un campo di testo selezionabile o modificabile) e il menu di errore (visualizzato quando il caricamento di un file SWF in Flash Player fallisce). Solo i menu standard e Modifica possono essere modificati mediante la classe ContextMenu.

Le voci di menu personalizzate vengono visualizzate in cima al menu di scelta rapida di Flash Player, separate da tutte le voci di menu incorporate visibili per mezzo di una barra separatrice. È possibile aggiungere un massimo di 15 voci personalizzate a un menu di scelta rapida. Da un menu di scelta rapida non è possibile rimuovere la voce Impostazioni, che in Flash è necessaria per consentire agli utenti di accedere alle impostazioni di riservatezza e di memorizzazione nel computer locale. Inoltre, non è possibile rimuovere la voce Informazioni, che è necessaria per conoscere la versione di Flash Player in uso.

Per creare un oggetto ContextMenu prima di chiamarne i metodi, utilizzare la funzione di costruzione ContextMenu().

Vedere gli esempi

Vedere anche

Classe ContextMenuItem
flash.display.InteractiveObject.contextMenu


Proprietà pubbliche
 ProprietàDefinito da
  builtInItems: ContextMenuBuiltInItems
Un oggetto che ha le seguenti proprietà della classe ContextMenuBuiltInItems: forwardAndBack, loop, play, print, quality, rewind, save e zoom.
ContextMenu
 Inheritedconstructor: Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto.
Object
  customItems: Array
Un array di oggetti ContextMenuItem.
ContextMenu
 Inheritedprototype: Object
[statico] Un riferimento all'oggetto prototipo di un oggetto classe o funzione.
Object
Metodi pubblici
 MetodoDefinito da
  
Crea un oggetto ContextMenu.
ContextMenu
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un oggetto listener di eventi con un oggetto EventDispatcher, in modo che il listener riceva la notifica di un evento.
EventDispatcher
  
Crea una copia dell'oggetto ContextMenu specificato.
ContextMenu
 Inherited
Invia un evento nel flusso di eventi.
EventDispatcher
 Inherited
Verifica se per l'oggetto EventDispatcher sono presenti listener registrati per un tipo specifico di evento.
EventDispatcher
 Inherited
Indica se per un oggetto è definita una proprietà specifica.
Object
  
Nasconde tutte le voci di menu incorporate (a eccezione di Settings, o Impostazioni) nell'oggetto ContextMenu.
ContextMenu
 Inherited
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro.
Object
 Inherited
Indica se la proprietà specificata esiste ed è enumerabile.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Rimuove un listener dall'oggetto EventDispatcher.
EventDispatcher
 Inherited
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche.
Object
 Inherited
Restituisce la rappresentazione in formato stringa dell'oggetto specificato.
Object
 Inherited
Restituisce il valore di base dell'oggetto specificato.
Object
 Inherited
Verifica se un listener di eventi è registrato con questo oggetto EventDispatcher o qualsiasi suo antenato per il tipo di evento specificato.
EventDispatcher
Eventi
 Evento Riepilogo Definito da
 Inherited Inviato quando Flash Player riceve lo stato di attivazione del sistema operativo e diventa attivo.EventDispatcher
 Inherited Inviato quando Flash Player perde lo stato di attivazione del sistema operativo e sta per diventare inattivo.EventDispatcher
   Inviato quando un utente genera per la prima volta un menu di scelta rapida, ma prima che il contenuto del menu venga visualizzato.ContextMenu
Descrizione delle proprietà
builtInItemsproprietà
builtInItems:ContextMenuBuiltInItems  [lettura-scrittura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Un oggetto che ha le seguenti proprietà della classe ContextMenuBuiltInItems: forwardAndBack, loop, play, print, quality, rewind, save e zoom. Se si impostano queste proprietà su false, vengono rimosse le voci di menu corrispondenti dall'oggetto ContextMenu specificato. Queste proprietà sono enumerabili e sono impostate su true per impostazione predefinita.


Implementazione
    public function get builtInItems():ContextMenuBuiltInItems
    public function set builtInItems(value:ContextMenuBuiltInItems):void

Vedere anche

customItemsproprietà 
customItems:Array  [lettura-scrittura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Un array di oggetti ContextMenuItem. Ogni oggetto dell'array rappresenta un menu di scelta rapida che è stato definito. Utilizzare questa proprietà per aggiungere, rimuovere o modificare queste voci di menu personalizzate.

Per aggiungere nuove voci di menu, creare un oggetto ContextMenuItem e successivamente aggiungerlo all'array customItems (ad esempio, mediante Array.push()). Per ulteriori informazioni sulla creazione delle voci di menu, consultare la sezione relativa alla classe ContextMenuItem.


Implementazione
    public function get customItems():Array
    public function set customItems(value:Array):void

Vedere anche

Descrizione della funzione di costruzione
ContextMenu()Funzione di costruzione
public function ContextMenu()

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Crea un oggetto ContextMenu.

Vedere anche

Descrizione dei metodi
clone()metodo
public function clone():ContextMenu

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Crea una copia dell'oggetto ContextMenu specificato. La copia eredita tutte le proprietà dell'oggetto menu originale.

Restituisce
ContextMenu — Un oggetto ContextMenu che contiene tutte le proprietà dell'oggetto menu originale.
hideBuiltInItems()metodo 
public function hideBuiltInItems():void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Nasconde tutte le voci di menu incorporate (a eccezione di Settings, o Impostazioni) nell'oggetto ContextMenu. Se è in esecuzione la versione di debug di Flash Player, viene visualizzata la voce di menu Debug (per i file SWF per cui non è attivato il debug remoto, la voce di menu è disattivata).

Questo metodo nasconde solo le voci dei menu di scelta rapida standard; non ha alcun effetto sulle voci che fanno parte del menu Modifica o dei menu di errore.

Questo metodo funziona impostando tutti i membri booleani di my_cm.builtInItems su false. È possibile rendere visibile una voce di menu incorporata in modo selettivo impostandone il membro corrispondente in my_cm.builtInItems su true.

Vedere anche

Descrizione degli eventi
menuSelect Evento
Tipo di oggetto evento: flash.events.ContextMenuEvent
ContextMenuEvent.type property = flash.events.ContextMenuEvent.MENU_SELECT

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Inviato quando un utente genera per la prima volta un menu di scelta rapida, ma prima che il contenuto del menu venga visualizzato. Questo consente al programma di modificare il set delle voci del menu di scelta rapida prima di visualizzare il menu. L'utente genera il menu di scelta rapida facendo clic con il pulsante destro del dispositivo di puntamento.

Definisce il valore della proprietà type di un oggetto evento menuSelect.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
contextMenuOwnerL'oggetto elenco di visualizzazione al quale il menu è associato.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
mouseTargetL'oggetto elenco di visualizzazione su cui l'utente ha fatto clic con il pulsante destro per visualizzare il menu di scelta rapida.
targetL'oggetto ContextMenu che sta per essere visualizzato. Il target non è sempre l'oggetto contenuto nell'elenco di visualizzazione, che ha registrato il listener di eventi. Utilizzare la proprietà currentTarget per accedere all'oggetto nell'elenco di visualizzazione, che sta elaborando l'evento.
Esempi Come utilizzare gli esempi
ContextMenuExample.as

L'esempio seguente utilizza la classe ContextMenuExample per rimuovere dallo stage le voci di menu di scelta rapida predefinite e aggiungere una nuova voce di menu che, quando si fa clic su di essa, cambia il colore di un quadratino sullo stage. Questa operazione viene eseguita mediante la procedura seguente:
  1. Una proprietà di nome myContextMenu viene dichiarata e quindi assegnata a un nuovo oggetto ContextMenu, quindi viene dichiarata una proprietà redRectangle del tipo Sprite.
  2. Viene chiamato il metodo removeDefaultItems(), che rimuove tutte le voci incorporate del menu di scelta rapida ad eccezione di Print.
  3. Viene chiamato il metodo addCustomMenuItems(), che inserisce la voce di menu Red to Black nell'array defaultItems utilizzando il metodo push() di Array. Viene aggiunto un listener di eventi menuItemSelect all'oggetto ContextMenuItem e viene chiamato il metodo associato menuItemSelectHandler(). Questo metodo genera alcune istruzioni mediante trace() ogni volta che viene aperto il menu di scelta rapida e viene selezionata la voce Red to Black. Inoltre, il quadrato rosso viene rimosso e viene sostituito da uno nero.
  4. Viene aggiunto un listener di eventi del tipo menuSelect, insieme al metodo associato menuSelectHandler, che si limita a generare tre istruzioni mediante trace() ogni volta che viene aperta una voce del menu di scelta rapida.
  5. Quindi, addChildren() disegna un quadrato rosso e lo aggiunge all'elenco di visualizzazione nel quale viene visualizzato immediatamente.
  6. Infine, myContextMenu viene assegato al menu di sceta rapida dello sprite redRectangle in modo che il menu di scelta rapida venga visualizzato solo quando il puntatore del mouse si trova sopra il quadrato.
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;
        }
    }
}




 

Inviami un messaggio e-mail quando vengono aggiunti dei commenti a questa | Rapporto sui commenti

Pagina corrente: http://livedocs.adobe.com/flash/9.0_it/ActionScriptLangRefV3/flash/ui/ContextMenu.html