| Paket | flash.ui |
| Klasse | public final class ContextMenu |
| Vererbung | ContextMenu EventDispatcher Object |
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Sie können ein ContextMenu-Objekt an eine bestimmte Schaltfläche, an einen Movieclip, an ein Textfeldobjekt oder an eine ganze Filmstufe anhängen. Sie verwenden hierfür die menu-Eigenschaft der Klasse Button, MovieClip oder TextField. Weitere Informationen zur menu-Eigenschaft finden Sie unter "Button.menu", "MovieClip.menu" und "TextField.menu".
Wenn Sie einem ContextMenu-Objekt neue Elemente hinzufügen möchten, erstellen Sie ein ContextMenuItem-Objekt und fügen dieses Objekt anschließend dem ContextMenu.customItems-Array hinzu. Weitere Informationen zum Erstellen von Kontextmenüelementen finden Sie im Abschnitt zu "ContextMenuItem-Klasse".
Flash Player verfügt über drei Arten von Kontextmenüs: Das Standardmenü (wird eingeblendet, wenn Sie mit der rechten Maustaste in Flash Player klicken), das Bearbeitungsmenü (wird eingeblendet, wenn Sie mit der rechten Maustaste auf ein auswählbares oder bearbeitbares Textfeld klicken) und ein Fehlermenü (wird eingeblendet, wenn eine SWF-Datei nicht in Flash Player geladen werden konnte). Mit der ContextMenu-Klasse können nur das Standard- und das Bearbeitungsmenü verändert werden.
Benutzerdefinierte Menüelemente werden immer oben im Kontextmenü von Flash Player oberhalb der integrierten Menüelemente angezeigt. Integrierte und benutzerdefinierte Menüelemente sind durch eine Trennlinie getrennt. Einem Kontextmenü können maximal 15 benutzerdefinierte Menüelemente hinzugefügt werden. Sie können die Option "Einstellungen" nicht aus dem Kontextmenü entfernen. Dieses ist in Flash erforderlich, damit Benutzer auf die Einstellungen zugreifen können, die für die Zugriffsschutz- und Speicherungseinstellungen auf dem Computer gelten. Des Weiteren ist auch ein Entfernen der Menüoption "Über..." nicht möglich. Diese ist notwendig, damit Benutzer sich über die verwendete Version von Flash Player informieren können.
Bevor Sie jedoch die Methoden eines ContextMenu-Objekts aufrufen können, müssen Sie dieses Objekt mithilfe des Konstruktors ContextMenu() erstellen.
Siehe auch
| Eigenschaft | Definiert von | ||
|---|---|---|---|
| builtInItems : ContextMenuBuiltInItems
Ein Objekt mit den folgenden Eigenschaften der ContextMenuBuiltInItems-Klasse: forwardAndBack, loop, play, print, quality, rewind, save und zoom.
| ContextMenu | ||
![]() | constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
| Object | |
| customItems : Array
Ein Array von ContextMenuItem-Objekten.
| ContextMenu | ||
![]() | prototype : Object
[static] Ein Verweis auf das Prototypobjekt einer Klasse oder eines Funktionsobjekts.
| Object | |
| Methode | Definiert von | ||
|---|---|---|---|
|
Erstellt ein ContextMenu-Objekt.
| ContextMenu | ||
![]() |
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird.
| EventDispatcher | |
|
Erstellt eine Kopie des angegebenen ContextMenu-Objekts.
| ContextMenu | ||
![]() |
Sendet ein Ereignis in den Ereignisablauf.
| EventDispatcher | |
![]() |
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat.
| EventDispatcher | |
![]() |
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
| Object | |
|
Blendet alle integrierten Menüelemente im angegebenen ContextMenu-Objekt aus (außer "Einstellungen").
| ContextMenu | ||
![]() |
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
| Object | |
![]() |
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
| Object | |
![]() |
Entfernt einen Listener aus dem EventDispatcher-Objekt.
| EventDispatcher | |
![]() |
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
| Object | |
![]() |
Gibt das angegebene Objekt als String zurück.
| Object | |
![]() |
Gibt den Grundwert des angegebenen Objekts zurück.
| Object | |
![]() |
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner vorangegangenen Elementen ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist.
| EventDispatcher | |
| Ereignis | Übersicht | Definiert von | ||
|---|---|---|---|---|
![]() | Wird ausgelöst, wenn Flash Player den Betriebssystemfokus erhält und aktiv wird. | EventDispatcher | ||
![]() | Wird ausgelöst, wenn Flash Player den Betriebssystemfokus verliert und inaktiv wird. | EventDispatcher | ||
| Wird ausgelöst, wenn ein Benutzer ein Kontextmenü zum ersten Mal erzeugt, jedoch bevor der Inhalt des Kontextmenüs angezeigt wird. | ContextMenu | |||
| builtInItems | Eigenschaft |
builtInItems:ContextMenuBuiltInItems [read-write]
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Ein Objekt mit den folgenden Eigenschaften der ContextMenuBuiltInItems-Klasse: forwardAndBack, loop, play, print, quality, rewind, save und zoom. Wenn diese Eigenschaften auf false gesetzt werden, führt dies zum Entfernen der entsprechenden Menüelemente aus dem angegebenen ContextMenu-Objekt. Diese Eigenschaften sind aufzählbar und standardmäßig auf true gesetzt.
public function get builtInItems():ContextMenuBuiltInItems public function set builtInItems(value:ContextMenuBuiltInItems):void Siehe auch
| customItems | Eigenschaft |
customItems:Array [read-write]
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Ein Array von ContextMenuItem-Objekten. Jedes Objekt im Array steht für ein von Ihnen definiertes Kontextmenüelement. Mit dieser Eigenschaft können Sie die benutzerdefinierten Menüelemente hinzufügen, entfernen und ändern.
Wenn Sie neue Menüelemente hinzufügen möchten, erstellen Sie ein ContextMenuItem-Objekt und fügen dieses dem customItems-Array hinzu (beispielsweise mithilfe von Array.push()). Weitere Informationen zum Erstellen von Menüelementen finden Sie im Abschnitt zur ContextMenuItem-Klasse.
public function get customItems():Array public function set customItems(value:Array):void Siehe auch
| ContextMenu | () | Konstruktor |
public function ContextMenu()
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Erstellt ein ContextMenu-Objekt.
Siehe auch
| clone | () | Methode |
public function clone():ContextMenu
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Erstellt eine Kopie des angegebenen ContextMenu-Objekts. Die Kopie übernimmt alle Eigenschaften des ursprünglichen Menüobjekts.
RückgabewerteContextMenu — Ein ContextMenu-Objekt mit allen Eigenschaften des Originalobjekts.
|
| hideBuiltInItems | () | Methode |
public function hideBuiltInItems():void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Blendet alle integrierten Menüelemente im angegebenen ContextMenu-Objekt aus (außer "Einstellungen"). In der Debugger-Version von Flash Player wird das Menüelement "Debuggen" angezeigt. In SWF-Dateien ohne aktiviertes Remote-Debuggen ist es jedoch abgeblendet.
Mit dieser Methode werden nur Menüelemente aus dem Standardkontextmenü ausgeblendet. Sie wirkt sich nicht auf Elemente des Bearbeitungs- oder Fehlermenüs aus.
Bei dieser Methode werden alle booleschen Elemente von my_cm.builtInItems auf false gesetzt. Sie können bestimmte integrierte Elemente sichtbar machen, indem Sie den entsprechenden Eintrag in my_cm.builtInItems auf true setzen.
Siehe auch
| menuSelect | Ereignis |
flash.events.ContextMenuEvent flash.events.ContextMenuEvent.MENU_SELECT | Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Wird ausgelöst, wenn ein Benutzer ein Kontextmenü zum ersten Mal erzeugt, jedoch bevor der Inhalt des Kontextmenüs angezeigt wird. Auf diese Weise können in Ihrem Programm die Kontextmenüelemente bearbeitet werden, bevor das Menü angezeigt wird. Das Kontextmenü wird durch einen Rechtsklick mit dem Zeigegerät erzeugt.
Definiert den Wert der Eigenschafttype eines menuSelect-Ereignisobjekts.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
| Eigenschaft | Wert |
|---|---|
bubbles | false |
cancelable | false. Es gibt kein Standardverhalten, das abgebrochen werden kann. |
contextMenuOwner | Das Anzeigelistenobjekt, dem das Menü zugeordnet ist. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
mouseTarget | Das Anzeigelistenobjekt, auf das der Benutzer mit rechts geklickt hat, um das Kontextmenü anzuzeigen. |
target | Das ContextMenu-Objekt, das angezeigt werden soll. Das Ziel ist nicht immer das Objekt in der Anzeigeliste, in der der Ereignis-Listener registriert wurde. Mit der Eigenschaft currentTarget können Sie auf das Objekt in der Anzeigeliste zugreifen, das das Ereignis derzeit verarbeitet. |
ContextMenuExample verwendet, um das Standard-Kontextmenüs von der Bühne zu entfernen und ein neues Menüelement hinzuzufügen, das bei Mausklick die Farbe eines Quadrats auf der Bühne ändert. Dies wird in den folgenden Schritten erreicht:
myContextMenu wird deklariert und anschließend einem neuen ContextMenu-Objekt zugewiesen, und die Eigenschaft redRectangle vom Typ "Sprite" wird deklariert.removeDefaultItems() wird aufgerufen, bei der alle integrierten Kontextmenüelemente mit Ausnahme der Option zum Drucken entfernt werden.addCustomMenuItems() wird aufgerufen, bei der ein Menüelement mit der Bezeichnung Red to Black mithilfe der Methode push() des Arrays im defaultItems-Array positioniert wird. Ein menuItemSelect-Ereignis-Listener wird dem ContextMenuItem-Objekt hinzugefügt. Die verknüpfte Methode lautet menuItemSelectHandler(). Bei dieser Methode werden einige trace()-Anweisungen gedruckt, wenn auf das Kontextmenü zugegriffen und die Option Red to Black ausgewählt wird. Darüber hinaus wird das rote Quadrat entfernt und durch ein schwarzes ersetzt.menuSelect-Ereignis-Listener mit der verknüpften Methode menuSelectHandler() wird hinzugefügt. Hiermit werden drei trace()-Anweisungen gedruckt, wenn ein Element im Kontextmenü ausgewählt wird.addChildren() wird anschließend ein rotes Quadrat gezeichnet und der Anzeigeliste hinzugefügt, in der dieses umgehend angezeigt wird.myContextMenu dem Kontextmenü des Sprite redRectangle zugewiesen, sodass das benutzerdefinierte Kontextmenü nur angezeigt wird, wenn sich der Mauszeiger über dem Quadrat befindet.
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;
}
}
}
Eine E-Mail an mich senden, wenn dieser Seite Kommentare hinzugefügt werden | Kommentarbericht
Aktuelle Seite: http://livedocs.adobe.com/flash/9.0_de/ActionScriptLangRefV3/flash/ui/ContextMenu.html