Pacote | flash.ui |
Classe | public final class ContextMenu |
Herança | ContextMenu NativeMenu EventDispatcher Object |
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Mobile Browser Support:: essa classe não possui suporte para navegadores móveis.
Suporte a perfil do AIR: este recurso não é compatível com dispositivos móveis nem com dispositivos AIR for TV. Consulte Suporte a perfil do AIR para obter mais informações sobre o suporte de API através de múltiplos perfis.
No Flash Player, os usuários abrem o menu de contexto clicando na tecla da direita (Windows ou Linux) ou na tecla Control (Macintosh). Você pode usar os métodos e as propriedades da classe ContextMenu para acrescentar itens personalizados no menu, controlar a exibição dos itens embutidos do menu de contexto (por exemplo, Mais Zoom e Imprimir) ou criar cópias de menus. No AIR, não há nenhum item interno ou menu de contexto padrão.
Você pode anexar um objeto ContextMenu a um botão específico, clipe de filme ou objeto de campo de texto, bem como a um nível de filme inteiro. Use a propriedade contextMenu
da classe InteractiveObject para fazer isso.
No Flex ou no Flash Builder, somente os componentes de nível superior no aplicativo podem ter menus de contexto. Por exemplo, se o controle DataGrid for filho de um contêiner de um TabNavigator ou VBox, o controle DataGrid não pode ter seu menu de contexto.
Para incluir novos itens a um objeto ContextMenu, crie um objeto ContextMenuItem e, depois, inclua esse objeto na matriz ContextMenu.customItems
. Para obter mais informações sobre a criação de itens de menu de contexto, consulte a entrada de classe ContextMenuItem.
O Flash Player tem três tipos de menu de contexto: o menu padrão (que aparece quando você clica com o botão da direita no Flash Player), o menu editar (que aparece quando você clica com o botão da direita em um campo de texto selecionável ou editável) e um menu erro (que aparece quando um arquivo SWF falha em carregar no Flash Player). Apenas os menus padrão e editar podem ser modificados com a classe ContextMenu. Apenas o menu de edição é exibido no AIR.
Os itens de menu personalizados aparecem sempre na parte superior do menu de contexto do Flash Player, acima de quaisquer itens visíveis do menu embutido; uma barra separadora faz a distinção entre os itens do menu personalizado e do embutido. Você não pode remover o item do menu Configurações do menu de contexto. O item de menu Configurações é necessário no Flash para que os usuários possam acessar as configurações que afetam a privacidade e o armazenamento em seus computadores. Você não pode, também, remover o item de menu Sobre, necessário para que os usuários possam descobrir a versão do Flash Player que estão usando. (No AIR, os itens de menu Configurações e Sobre não são usados.)
Você não pode adicionar mais do que 15 itens personalizados a um menu de contexto no Flash Player. No AIR, não existe nenhum limite explícito imposto quanto ao número de itens em um menu de contexto.
Você precisa usar o construtor ContextMenu()
para criar o objeto ContextMenu, antes de chamar seus métodos.
Elementos da API relacionados
Propriedade | Definido por | ||
---|---|---|---|
builtInItems : ContextMenuBuiltInItems
Uma ocorrência da classe ContextMenuBuiltInItems com as seguintes propriedades: forwardAndBack, loop, play, print, quality, rewind, save e zoom. | ContextMenu | ||
clipboardItems : ContextMenuClipboardItems
Uma ocorrência da classe ContextMenuClipboardItems com as seguintes propriedades: cut, copy, paste, delete, selectAll. | ContextMenu | ||
clipboardMenu : Boolean
Especifica se o menu da área de transferência deve ser usado. | ContextMenu | ||
constructor : Object
Uma referência ao objeto de classe ou à função de construtor de uma determinada ocorrência de objeto. | Object | ||
customItems : Array
Uma matriz de objetos ContextMenuItem. | ContextMenu | ||
isSupported : Boolean [estático] [somente leitura]
A propriedade isSupported será definida como true se a classe ContextMenu for suportada na plataforma atual; de outra maneira, ela será definida como false. | ContextMenu | ||
items : Array [substituir]
A matriz de itens personalizados nesse menu. | ContextMenu | ||
link : URLRequest
O URLRequest do link. | ContextMenu | ||
numItems : int [substituir] [somente leitura]
O número de itens nesse menu. | ContextMenu | ||
parent : NativeMenu [somente leitura]
O menu pai. | NativeMenu |
Método | Definido por | ||
---|---|---|---|
Cria um objeto ContextMenu. | ContextMenu | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra um objeto de ouvinte de evento em um objeto EventDispatcher, de forma que o ouvinte receba a notificação de um evento. | EventDispatcher | ||
Adiciona um item de menu à parte inferior do menu. | NativeMenu | ||
[substituir]
Adiciona um item de menu à parte inferior do menu. | ContextMenu | ||
Adiciona um submenu ao menu inserindo um novo item de menu. | NativeMenu | ||
Adiciona um submenu ao menu inserindo um novo item de menu na posição especificada. | NativeMenu | ||
[substituir]
Cria uma cópia do objeto ContextMenu especificado. | ContextMenu | ||
[substituir]
Reporta se este menu contém o item de menu especificado. | ContextMenu | ||
Envia um evento para o fluxo de eventos. | EventDispatcher | ||
[substituir]
Ativa este menu no local especificado. | ContextMenu | ||
[substituir]
Obtém o item no índice especificado. | ContextMenu | ||
Obtém o item de menu com o nome especificado. | NativeMenu | ||
[substituir]
Obtém a posição do item especificado. | ContextMenu | ||
Verifica se o objeto EventDispatcher tem ouvintes registrados para um tipo específico de evento. | EventDispatcher | ||
Indica se um objeto tem uma propriedade especificada definida. | Object | ||
Oculta todos os itens de menu embutidos (exceto Configurações) no objeto ContextMenu especificado. | ContextMenu | ||
Indica se uma ocorrência da classe Object está na cadeia de protótipos do objeto especificado como o parâmetro. | Object | ||
Indica se a propriedade especificada existe e é enumerável. | Object | ||
[substituir]
Remove todos os itens do menu. | ContextMenu | ||
Remove um ouvinte do objeto EventDispatcher. | EventDispatcher | ||
Remove o item de menu especificado. | NativeMenu | ||
[substituir]
Remove e retorna o item de menu no índice especificado. | ContextMenu | ||
Move um item de menu para a posição especificada. | NativeMenu | ||
Define a disponibilidade de uma propriedade dinâmica para operações de repetição. | Object | ||
Retorna a representação da string deste objeto, formatado segundo as convenções específicas para a localidade. | Object | ||
Retorna a representação de string do objeto especificado. | Object | ||
Retorna o valor primitivo do objeto especificado. | Object | ||
Verifica se um ouvinte de evento está registrado nesse objeto EventDispatcher ou em qualquer um de seus ancestrais para o tipo de evento especificado. | EventDispatcher |
Evento | Resumo | Definido por | ||
---|---|---|---|---|
[transmissão de evento] Despachado quando o Flash Player ou o aplicativo do AIR ganha o foco do sistema operacional e está se tornando inativo. | EventDispatcher | |||
[transmissão de evento] Despachado quando o Flash Player ou o aplicativo do AIR perde o foco do sistema operacional e está se tornando inativo. | EventDispatcher | |||
Despachado por este objeto NativeMenu imediatamente antes de o menu ser exibido. | NativeMenu | |||
Despachado na primeira vez que um usuário gera um menu de contexto, mas antes da exibição do conteúdo desse menu de contexto. | ContextMenu | |||
Despachado pelo objeto NativeMenu quando um equivalente de tecla é pressionado e imediatamente antes de o menu ser exibido. | NativeMenu | |||
Despachado por este objeto NativeMenu quando um dos respectivos itens de menu ou um item em um dos respectivos submenus descendentes for selecionado. | NativeMenu |
builtInItems | propriedade |
builtInItems:ContextMenuBuiltInItems
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Uma ocorrência da classe ContextMenuBuiltInItems com as seguintes propriedades: forwardAndBack
, loop
, play
, print
, quality
, rewind
, save
e zoom
. A configuração dessas propriedades como false
remove os itens correspondentes do menu do objeto ContextMenu especificado. Essas propriedades são enumeráveis e estão configuradas como true
por padrão.
Observação: No AIR, os menus de contexto não têm nenhum item interno.
Implementação
public function get builtInItems():ContextMenuBuiltInItems
public function set builtInItems(value:ContextMenuBuiltInItems):void
Elementos da API relacionados
clipboardItems | propriedade |
clipboardItems:ContextMenuClipboardItems
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5 |
Uma ocorrência da classe ContextMenuClipboardItems com as seguintes propriedades: cut
, copy
, paste
, delete
, selectAll
. Definir uma dessas propriedades como false
remove os itens de menu correspondentes do menu da área de transferência.
Implementação
public function get clipboardItems():ContextMenuClipboardItems
public function set clipboardItems(value:ContextMenuClipboardItems):void
Elementos da API relacionados
Exemplo ( Como usar este exemplo )
clipboardItems
do objeto ContextMenu
. Crie um ContextMenu
e defina a propriedade clipboardMenu
como true
. Adicione um manipulador de eventos para o MENU_SELECT
(geralmente, clicando com o botão direito do mouse) e atribua o menu a um objeto de exibição. Nesse caso, os menus copiar
e colar
são ativados.
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 | propriedade |
clipboardMenu:Boolean
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5 |
Especifica se o menu da área de transferência deve ser usado. Se o valor for true
, o clipboardItems
determinará que itens estão ativados ou desativados no menu da área de transferência.
Se a propriedade link
não for null, essa propriedade clipBoardMenu
será ignorada.
Implementação
public function get clipboardMenu():Boolean
public function set clipboardMenu(value:Boolean):void
customItems | propriedade |
customItems:Array
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Uma matriz de objetos ContextMenuItem. Cada objeto da matriz representa um item de menu de contexto que você definiu. Use essa propriedade para adicionar, remover ou modificar esses itens do menu personalizado.
Para incluir novos itens de menu, você cria um objeto ContextMenuItem e depois insere-o na matriz customItems
(por exemplo, com o uso do Array.push()
). Para obter mais informações sobre a criação de itens de menu, consulte a entrada de classe ContextMenuItem.
Implementação
public function get customItems():Array
public function set customItems(value:Array):void
Elementos da API relacionados
isSupported | propriedade |
isSupported:Boolean
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10.1, AIR 2 |
A propriedade isSupported
será definida como true
se a classe ContextMenu for suportada na plataforma atual; de outra maneira, ela será definida como false
.
Implementação
public static function get isSupported():Boolean
items | propriedade |
items:Array
[substituir] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
A matriz de itens personalizados nesse menu.
Usar essa propriedade equivale a usar a propriedade customItems
. A matriz é classificada por ordem de exibição.
Implementação
override public function get items():Array
override public function set items(value:Array):void
link | propriedade |
link:URLRequest
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5 |
O URLRequest
do link. Se esta propriedade for null
, um menu de contexto normal será exibido. Se esta propriedade não for null
, o menu de contexto de link será exibido e operará na url especificada.
Se um link
for especificado, a propriedade clipboardMenu
será ignorada.
O valor padrão é null
.
Implementação
public function get link():URLRequest
public function set link(value:URLRequest):void
numItems | propriedade |
ContextMenu | () | Construtor |
public function ContextMenu()
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Cria um objeto ContextMenu.
Elementos da API relacionados
addItemAt | () | método |
override public function addItemAt(item:NativeMenuItem, index:int):NativeMenuItem
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Adiciona um item de menu à parte inferior do menu.
Ao criar um menu de contexto, você pode adicionar objetos NativeMenuItem ou ContextMenuItem. No entanto, é recomendável usar apenas um tipo de objeto em um menu de contexto de forma que todos os itens do menu tenham as mesmas propriedades.
Parâmetros
item:NativeMenuItem — O item para adicionar à parte inferior do menu.
| |
index:int |
NativeMenuItem |
Lança
ArgumentError — Se o item for null .
| |
ArgumentError — Caso item seja um membro de outro menu.
|
clone | () | método |
override public function clone():NativeMenu
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Cria uma cópia do objeto ContextMenu especificado. A cópia herda todas as propriedades do objeto de menu original.
RetornaNativeMenu — Um objeto ContextMenu com todas as propriedades do objeto de menu original.
|
containsItem | () | método |
override public function containsItem(item:NativeMenuItem):Boolean
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Reporta se este menu contém o item de menu especificado.
Parâmetros
item:NativeMenuItem — O item para pesquisa.
|
Boolean — true se o item estiver neste menu.
|
display | () | método |
override public function display(stage:Stage, stageX:Number, stageY:Number):void
Versões de runtime: | AIR 1.0 |
Ativa este menu no local especificado.
Observação: No Flash Player, não há suporte a esse método.
Parâmetros
stage:Stage — O objeto Stage no qual o menu é exibido.
| |
stageX:Number — O número de pixels horizontais, relativos à origem do palco, o qual exibe seu menu.
| |
stageY:Number — O número de pixels verticais, relativos à origem do palco, o qual exibe seu menu.
|
getItemAt | () | método |
override public function getItemAt(index:int):NativeMenuItem
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Obtém o item no índice especificado.
Parâmetros
index:int — A posição (com base em zero) do item a ser retornado.
|
NativeMenuItem — O item na posição especificada no menu.
|
Lança
RangeError — Se o index estiver fora dos limites da matriz items do menu.
|
getItemIndex | () | método |
override public function getItemIndex(item:NativeMenuItem):int
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Obtém a posição do item especificado.
Parâmetros
item:NativeMenuItem — O objeto NativeMenuItem a ser pesquisado.
|
int — A posição (com base em zero) do item especificado neste menu ou -1 , se o item não estiver neste menu.
|
hideBuiltInItems | () | método |
public function hideBuiltInItems():void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Oculta todos os itens de menu embutidos (exceto Configurações) no objeto ContextMenu especificado. Se a versão depuradora do Flash Player está sendo executada, aparece o item de menu Depuração, embora esteja esmaecido para os arquivos SWF que não estejam com depuração remota ativada.
Esse método esconde apenas os itens de menu que aparecem no menu de contexto padrão; ele não afeta os itens que aparecem nos menus editar e erro.
Esse método funciona com a configuração de todos os membros boolianos domy_cm
.builtInItems
para false
. Você pode seletivamente tornar visível um item embutido com a configuração de seu membro correspondente no my_cm
.builtInItems
para true
.
Observação: No AIR, os menus de contexto não têm nenhum item interno. Chamar esse método não terá nenhum efeito.
Elementos da API relacionados
removeAllItems | () | método |
override public function removeAllItems():void
Versões de runtime: | AIR 1.0 |
Remove todos os itens do menu.
removeItemAt | () | método |
override public function removeItemAt(index:int):NativeMenuItem
Versões de runtime: | AIR 1.0 |
Remove e retorna o item de menu no índice especificado.
Parâmetros
index:int — A posição (com base em zero) do item a ser removida.
|
NativeMenuItem — O objeto NativeMenuItem removido.
|
menuSelect | Evento |
flash.events.ContextMenuEvent
propriedade ContextMenuEvent.type =
flash.events.ContextMenuEvent.MENU_SELECT
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Despachado na primeira vez que um usuário gera um menu de contexto, mas antes da exibição do conteúdo desse menu de contexto. Isso permite que o programa modifique o conjunto de itens do menu de contexto antes de exibir o menu. O usuário gera o menu de contexto clicando duas vezes com o botão da direita do dispositivo apontador.
Define o valor da propriedadetype
de um objeto de evento menuSelect
.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
contextMenuOwner | O objeto de lista de exibição ao qual o menu está conectado. |
currentTarget | O objeto que está processando ativamente o objeto Event com um ouvinte de evento. |
mouseTarget | O objeto de lista de exibição no qual o usuário clicou com o botão direito para exibir o menu de contexto. |
target | O objeto ContextMenu que está prestes a ser exibido. target não é sempre o objeto na lista de exibição que registrou o ouvinte de evento. Use a propriedade currentTarget para acessar o objeto na lista de exibição que está processando o evento no momento. |
ContextMenuExample
para remover os itens do menu de contexto padrão do Palco e acrescentar um novo item de menu que, se clicado, muda a cor de um quadrado no Palco Isso é realizado com as seguintes etapas:
- É declarada a propriedade
myContextMenu
e depois atribuída a um novo objeto ContextMenu e é declarada a propriedaderedRectangle
do tipo Sprite. - É chamado o método
removeDefaultItems()
, que remove todos os itens de menu de contexto embutidos, exceto Imprimir. - É chamado o método
addCustomMenuItems()
, que coloca um item na seleção de menu chamadoRed to Black
na matrizdefaultItems
com o uso do método de Matrizpush()
. Um ouvinte de eventomenuItemSelect
é adicionado ao objeto ContextMenuItem e o método associado é chamadomenuItemSelectHandler()
. Esse método imprime algumas instruções com o uso detrace()
, sempre que o menu de contexto for acessado eRed to Black
for selecionado. Também, o quadrado vermelho é removido e substituído por um preto. - Um listener de evento do tipo
menuSelect
é incluído, juntamente com o método associadomenuSelectHandler
, que apenas imprime as três instruções com o uso detrace()
, todas as vezes que um item de menu de contexto é aberto. - Em seguida, o
addChildren()
desenha um quadrado vermelho e o coloca na lista de exibição, onde é exibido imediatamente. - Finalmente, o
myContextMenu
é atribuído ao menu de contexto do spriteredRectangle
, de modo que o menu de contexto personalizado seja exibido apenas quando o ponteiro do mouse está sobre o quadrado.
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; } } }
Wed Jun 13 2018, 11:10 AM Z