Pacchetto | flash.ui |
Classe | public final class ContextMenu |
Ereditarietà | ContextMenu NativeMenu EventDispatcher Object |
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Supporto browser per dispositivi mobili: questa classe non è supportata nei browser per dispositivi mobili.
Supporto profili AIR: questa funzione non è supportata nei dispositivi mobili o nei dispositivi AIR per TV. Per ulteriori informazioni sul supporto delle API tra più profili, vedete Supporto dei profili AIR.
In Flash Player, gli utenti aprono il menu di scelta rapida facendo clic su Flash Player con il pulsante destro del mouse (Windows o Linux) o facendo clic su Flash Player tenendo premuto il tasto Control (Macintosh). Potete 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. In AIR, non sono presenti elementi predefiniti e menu di scelta rapida standard.
In Flash Professional, è possibile associare un oggetto ContextMenu a uno specifico oggetto pulsante, clip filmato o campo di testo, oppure a un intero livello di filmato. Potete utilizzare a questo scopo la proprietà contextMenu
della classe InteractiveObject.
In Flex o Flash Builder, solo i componenti di primo livello dell'applicazione possono disporre di menu contestuali. Ad esempio, se un controllo DataGrid è un elemento secondario di un contenitore TabNavigator o VBox, non può avere un proprio menu contestuale.
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, vedete 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. Viene visualizzato solo il menu Modifica.
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. 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. (In AIR, i menu predefiniti Impostazioni e Informazioni su non vengono utilizzati.)
In Flash Player, potete aggiungere un massimo di 15 voci personalizzate a un menu di scelta rapida. In AIR, non esiste alcun limite esplicito per il numero di voci di un menu di scelta rapida.
Per creare un oggetto ContextMenu prima di chiamarne i metodi, utilizzate la funzione di costruzione ContextMenu()
.
Altri esempi
Elementi API correlati
Proprietà | Definito da | ||
---|---|---|---|
builtInItems : ContextMenuBuiltInItems
Un'istanza della classe ContextMenuBuiltInItems con le proprietà seguenti: forwardAndBack, loop, play, print, quality, rewind, save e zoom. | ContextMenu | ||
clipboardItems : ContextMenuClipboardItems
Un'istanza della classe ContextMenuClipboardItems con le proprietà seguenti: cut, copy, paste, delete, selectAll. | ContextMenu | ||
clipboardMenu : Boolean
Specifica se deve essere utilizzato o meno il menu Appunti. | ContextMenu | ||
constructor : 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 | ||
isSupported : Boolean [statico] [sola lettura]
La proprietà isSupported è impostata su true se la classe ContextMenu è supportata nella piattaforma corrente, altrimenti è impostata su false. | ContextMenu | ||
items : Array [override]
L'array di voci personalizzate del menu. | ContextMenu | ||
link : URLRequest
URLRequest del collegamento. | ContextMenu | ||
numItems : int [override] [sola lettura]
Il numero di voci del menu. | ContextMenu | ||
parent : NativeMenu [sola lettura]
Il menu principale. | NativeMenu |
Metodo | Definito da | ||
---|---|---|---|
Crea un oggetto ContextMenu. | ContextMenu | ||
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 | ||
Aggiunge una voce di menu in fondo al menu. | NativeMenu | ||
[override]
Aggiunge una voce di menu in fondo al menu. | ContextMenu | ||
Aggiunge un sottomenu al menu inserendo una nuova voce di menu. | NativeMenu | ||
Aggiunge un sottomenu al menu inserendo una nuova voce di menu nella posizione specificata. | NativeMenu | ||
[override]
Crea una copia dell’oggetto ContextMenu specificato. | ContextMenu | ||
[override]
Segnala se il menu contiene la voce di menu specificata. | ContextMenu | ||
Invia un evento nel flusso di eventi. | EventDispatcher | ||
[override]
Visualizza il menu nella posizione specificata. | ContextMenu | ||
[override]
Ottiene la voce di menu nella posizione di indice specificata. | ContextMenu | ||
Ottiene la voce di menu con il nome specificato. | NativeMenu | ||
[override]
Ottiene la posizione della voce specificata. | ContextMenu | ||
Verifica se per l'oggetto EventDispatcher sono presenti listener registrati per un tipo specifico di evento. | EventDispatcher | ||
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 | ||
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro. | Object | ||
Indica se la proprietà specificata esiste ed è enumerabile. | Object | ||
[override]
Rimuove tutte le voci dal menu. | ContextMenu | ||
Rimuove un listener dall'oggetto EventDispatcher. | EventDispatcher | ||
Rimuove la voce di menu specificata. | NativeMenu | ||
[override]
Rimuove e restituisce la voce di menu nella posizione di indice specificata. | ContextMenu | ||
Sposta una voce di menu alla posizione specificata. | NativeMenu | ||
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche. | Object | ||
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate. | Object | ||
Restituisce la rappresentazione in formato stringa dell'oggetto specificato. | Object | ||
Restituisce il valore di base dell'oggetto specificato. | Object | ||
Verifica se un listener di eventi è registrato con questo oggetto EventDispatcher o qualsiasi suo antenato per il tipo di evento specificato. | EventDispatcher |
Evento | Riepilogo | Definito da | ||
---|---|---|---|---|
[evento di trasmissione] Inviato quando Flash Player o l'applicazione AIR ottiene lo stato di attivazione del sistema operativo ed entra nello stato attivo. | EventDispatcher | |||
[evento di trasmissione] Inviato quando Flash Player o l'applicazione AIR perde l'attivazione del sistema operativo e sta entrando nello stato inattivo. | EventDispatcher | |||
Inviato dall'oggetto NativeMenu immediatamente prima della visualizzazione del menu. | NativeMenu | |||
Inviato quando un utente genera per la prima volta un menu di scelta rapida, ma prima che il contenuto del menu venga visualizzato. | ContextMenu | |||
Inviato dall'oggetto NativeMenu quando viene premuto il tasto equivalente e immediatamente prima della visualizzazione del menu. | NativeMenu | |||
Inviato dall'oggetto NativeMenu quando una delle voci di menu o una voce in uno dei sottomenu discendenti è selezionata. | NativeMenu |
builtInItems | proprietà |
builtInItems:ContextMenuBuiltInItems
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Un'istanza della classe ContextMenuBuiltInItems con le proprietà seguenti: 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.
Nota: in AIR, i menu di scelta rapida non hanno voci predefinite.
Implementazione
public function get builtInItems():ContextMenuBuiltInItems
public function set builtInItems(value:ContextMenuBuiltInItems):void
Elementi API correlati
clipboardItems | proprietà |
clipboardItems:ContextMenuClipboardItems
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Un'istanza della classe ContextMenuClipboardItems con le proprietà seguenti: cut
, copy
, paste
, delete
, selectAll
. Se impostate una di queste proprietà su false
, viene disattivata la voce di menu corrispondente nel menu degli Appunti.
Implementazione
public function get clipboardItems():ContextMenuClipboardItems
public function set clipboardItems(value:ContextMenuClipboardItems):void
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
clipboardItems
dell'oggetto ContextMenu
. Crea un oggetto ContextMenu
e imposta la relativa proprietà clipboardMenu
su true
. Aggiunge un gestore di eventi per l'evento MENU_SELECT
(di solito clic con il pulsante destro del mouse) e assegna il menu a un oggetto di visualizzazione. In questo caso, i menu copy
e paste
sono attivati.
package { import flash.ui.ContextMenu; import flash.events.ContextMenuEvent; import flash.display.Sprite; public class ContextMenuClipboardItemsExample extends Sprite { public function ContextMenuClipboardItemsExample() { var myContextMenu:ContextMenu = new ContextMenu(); myContextMenu.clipboardMenu = true; myContextMenu.addEventListener(ContextMenuEvent.MENU_SELECT, menuSelectHandler); var rc:Sprite = new Sprite(); rc.graphics.beginFill(0xDDDDDD); rc.graphics.drawRect(0,0,100,30); addChild(rc); rc.contextMenu = myContextMenu; } function menuSelectHandler(event:ContextMenuEvent):void { event.contextMenuOwner.contextMenu.clipboardItems.copy = true; event.contextMenuOwner.contextMenu.clipboardItems.paste = true; } } }
clipboardMenu | proprietà |
clipboardMenu:Boolean
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Specifica se deve essere utilizzato o meno il menu Appunti. Se questo valore è true
, la proprietà clipboardItems
determina quali elementi sono attivati o disattivati nel menu degli Appunti.
Se la proprietà link
non è null, questa proprietà clipBoardMenu
viene ignorata.
Implementazione
public function get clipboardMenu():Boolean
public function set clipboardMenu(value:Boolean):void
customItems | proprietà |
customItems:Array
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Un array di oggetti ContextMenuItem. Ogni oggetto dell'array rappresenta un menu di scelta rapida che è stato definito. Utilizzate questa proprietà per aggiungere, rimovete o modificate queste voci di menu personalizzate.
Per aggiungere nuove voci di menu, create un oggetto ContextMenuItem e successivamente aggiungerlo all'array customItems
(ad esempio, mediante Array.push()
). Per ulteriori informazioni sulla creazione delle voci di menu, vedete la sezione relativa alla classe ContextMenuItem.
Implementazione
public function get customItems():Array
public function set customItems(value:Array):void
Elementi API correlati
isSupported | proprietà |
isSupported:Boolean
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10.1, AIR 2 |
La proprietà isSupported
è impostata su true
se la classe ContextMenu è supportata nella piattaforma corrente, altrimenti è impostata su false
.
Implementazione
public static function get isSupported():Boolean
items | proprietà |
items:Array
[override] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0 |
L'array di voci personalizzate del menu.
Questa proprietà è analoga alla proprietà customItems
. L'array viene ordinato in base all'ordine di visualizzazione.
Implementazione
override public function get items():Array
override public function set items(value:Array):void
link | proprietà |
link:URLRequest
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
URLRequest
del collegamento. Se questa proprietà è null
, viene visualizzato un menu di scelta rapida standard. Se questa proprietà non è null
, viene visualizzato il menu di scelta rapida del collegamento che agisce sull'url specificato.
Se è specificato link
, la proprietà clipboardMenu
viene ignorata.
Il valore predefinito è null
.
Implementazione
public function get link():URLRequest
public function set link(value:URLRequest):void
numItems | proprietà |
ContextMenu | () | Funzione di costruzione |
public function ContextMenu()
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Crea un oggetto ContextMenu.
Elementi API correlati
addItemAt | () | metodo |
override public function addItemAt(item:NativeMenuItem, index:int):NativeMenuItem
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0 |
Aggiunge una voce di menu in fondo al menu.
Quando create un menu di scelta rapida, potete aggiungere sia oggetti NativeMenuItem che oggetti ContextMenuItem. Tuttavia, è consigliabile utilizzare solo un tipo di oggetto in un menu di scelta rapida in modo che tutte le voci del menu abbiano le stesse proprietà.
Parametri
item:NativeMenuItem — La voce da aggiungere alla fine del menu.
| |
index:int |
NativeMenuItem |
Genera
ArgumentError — Se item è null .
| |
ArgumentError — Se item è un membro di un altro menu.
|
clone | () | metodo |
override public function clone():NativeMenu
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Crea una copia dell’oggetto ContextMenu specificato. La copia eredita tutte le proprietà dell’oggetto menu originale.
RestituisceNativeMenu — Un oggetto ContextMenu che contiene tutte le proprietà dell’oggetto menu originale.
|
containsItem | () | metodo |
override public function containsItem(item:NativeMenuItem):Boolean
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0 |
Segnala se il menu contiene la voce di menu specificata.
Parametri
item:NativeMenuItem — La voce da cercare.
|
Boolean — true se item è presente nel menu.
|
display | () | metodo |
override public function display(stage:Stage, stageX:Number, stageY:Number):void
Versioni runtime: | AIR 1.0 |
Visualizza il menu nella posizione specificata.
Nota: in Flash Player, questo metodo non è supportato.
Parametri
stage:Stage — L'oggetto Stage su cui visualizzare il menu.
| |
stageX:Number — Il numero di pixel orizzontali, rispetto all'origine di stage, in corrispondenza del quale deve essere visualizzato questo menu.
| |
stageY:Number — Il numero di pixel verticali, relativo all'origine di stage, in corrispondenza del quale visualizzare il menu.
|
getItemAt | () | metodo |
override public function getItemAt(index:int):NativeMenuItem
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0 |
Ottiene la voce di menu nella posizione di indice specificata.
Parametri
index:int — La posizione (con base zero) della voce da restituire.
|
NativeMenuItem — La voce nella posizione specificata nel menu.
|
Genera
RangeError — Se index è al di fuori dei limiti dell'array items del menu.
|
getItemIndex | () | metodo |
override public function getItemIndex(item:NativeMenuItem):int
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0 |
Ottiene la posizione della voce specificata.
Parametri
item:NativeMenuItem — L'oggetto NativeMenuItem da cercare.
|
int — La posizione (con base zero) della voce specificata nel menu oppure -1 , se la voce non è presente nel menu.
|
hideBuiltInItems | () | metodo |
public function hideBuiltInItems():void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, 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
.
Nota: in AIR, i menu di scelta rapida non hanno voci predefinite. La chiamata a questo metodo non ha alcun effetto.
Elementi API correlati
removeAllItems | () | metodo |
override public function removeAllItems():void
Versioni runtime: | AIR 1.0 |
Rimuove tutte le voci dal menu.
removeItemAt | () | metodo |
override public function removeItemAt(index:int):NativeMenuItem
Versioni runtime: | AIR 1.0 |
Rimuove e restituisce la voce di menu nella posizione di indice specificata.
Parametri
index:int — La posizione (con base zero) della voce da rimuovere.
|
NativeMenuItem — L'oggetto NativeMenuItem rimosso.
|
menuSelect | Evento |
flash.events.ContextMenuEvent
proprietà ContextMenuEvent.type =
flash.events.ContextMenuEvent.MENU_SELECT
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, 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 |
---|---|
bubbles | false |
cancelable | false ; non è presente alcun comportamento predefinito da annullare. |
contextMenuOwner | L'oggetto elenco di visualizzazione al quale il menu è associato. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
mouseTarget | L'oggetto elenco di visualizzazione su cui l'utente ha fatto clic con il pulsante destro per visualizzare il menu di scelta rapida. |
target | L'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. Utilizzate la proprietà currentTarget per accedere all'oggetto dell'elenco di visualizzazione che sta elaborando l'evento. |
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:
- Una proprietà di nome
myContextMenu
viene dichiarata e quindi assegnata a un nuovo oggetto ContextMenu, quindi viene dichiarata una proprietàredRectangle
del tipo Sprite. - Viene chiamato il metodo
removeDefaultItems()
, che rimuove tutte le voci incorporate del menu di scelta rapida ad eccezione di Print. - Viene chiamato il metodo
addCustomMenuItems()
, che inserisce la voce di menuRed to Black
nell'arraydefaultItems
utilizzando il metodopush()
di Array. Viene aggiunto un listener di eventimenuItemSelect
all'oggetto ContextMenuItem e viene chiamato il metodo associatomenuItemSelectHandler()
. Questo metodo genera alcune istruzioni mediantetrace()
ogni volta che viene aperto il menu di scelta rapida e viene selezionata la voceRed to Black
. Inoltre, il quadrato rosso viene rimosso e viene sostituito da uno nero. - Viene aggiunto un listener di eventi del tipo
menuSelect
, insieme al metodo associatomenuSelectHandler
, che si limita a generare tre istruzioni mediantetrace()
ogni volta che viene aperta una voce del menu di scelta rapida. - Quindi,
addChildren()
disegna un quadrato rosso e lo aggiunge all'elenco di visualizzazione nel quale viene visualizzato immediatamente. - Infine,
myContextMenu
viene assegato al menu di sceta rapida dello spriteredRectangle
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.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; } } }
Tue Jun 12 2018, 02:44 PM Z