In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

ContextMenu

いわゆる右クリックメニュー

右クリックと中クリックは環境依存
これらを使わないデザインにするのが無難
…でも右クリックした時に何も起こらないのは寂しい
ちょっとした遊びゴコロが欲しい


補助メニュー
資料へのリンク
操作のヒント
コナミコマンド
にゃあとか音が出る


//BUG ? ContextMenuItem( caption ) captionが特定の文字だと表示されないことがある。
//      0,1,2,3,4,A,B,C,D,a,b,c,d


ContextMenu
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/ui/ContextMenu.html
ContextMenuItem
http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/flash/ui/ContextMenuItem.html
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/ui/ContextMenuItem.html
Get Adobe Flash player
by lilliliililiiliililiilil 25 Mar 2011
    Embed
package {
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        public function FlashTest() {
            // write as3 code here..
            var test:ContextMenuExample = new ContextMenuExample();
            this.contextMenu = test.contextMenu;
        }
    }
}

  import flash.events.ContextMenuEvent;
  import flash.net.URLRequest;
  import flash.ui.ContextMenu;
  import flash.ui.ContextMenuItem;
  import flash.ui.ContextMenuBuiltInItems;
  import flash.ui.ContextMenuClipboardItems;
  class ContextMenuExample{
    public function ContextMenuExample(){
      //contextMenu.builtInItems = builtInItems;
      //contextMenu.clipboardItems = clipboardItems;
      contextMenu.clipboardMenu = false;
      contextMenu.customItems = null;
      contextMenu.link = null; //URLRequest
      contextMenu.hideBuiltInItems();
      contextMenu.addEventListener( ContextMenuEvent.MENU_SELECT, onMenuSelect );
      
      var builtInItems:ContextMenuBuiltInItems = new ContextMenuBuiltInItems();
          builtInItems.forwardAndBack = false;
          builtInItems.loop = false;
          builtInItems.play = false;
          builtInItems.print = false;
          builtInItems.quality = false;
          builtInItems.rewind = false;
          builtInItems.save = false;
          builtInItems.zoom = false;
      contextMenu.builtInItems = builtInItems;
      
      contextMenu.builtInItems.forwardAndBack = false;
      contextMenu.builtInItems.loop = false;
      contextMenu.builtInItems.play = false;
      contextMenu.builtInItems.print = false;
      contextMenu.builtInItems.quality = false;
      contextMenu.builtInItems.rewind = false;
      contextMenu.builtInItems.save = false;
      contextMenu.builtInItems.zoom = false;
      
      var clipboardItems:ContextMenuClipboardItems = new ContextMenuClipboardItems();
          clipboardItems.clear = false;
          clipboardItems.copy = false;
          clipboardItems.cut = false;
          clipboardItems.paste = false;
          clipboardItems.selectAll = false;
      contextMenu.clipboardItems = clipboardItems;
      
      contextMenu.clipboardItems.clear = false;
      contextMenu.clipboardItems.copy = false;
      contextMenu.clipboardItems.cut = false;
      contextMenu.clipboardItems.paste = false;
      contextMenu.clipboardItems.selectAll = false;
      
       //enable
      var items:Array = [];
          items[0] = new ContextMenuItem( "" );
          items[0].caption = "  |\__/|";
          items[0].separatorBefore = false;
          items[0].visible = true;
      contextMenu.customItems = items;

      //BUG ------------------------------------------------------------------
      //disable 
      //dont use 0 1 2 3 4 A B C D a b c d 
      var item:ContextMenuItem = new ContextMenuItem("B"); //Incorrect number of arguments.  Expected 1.
          item.separatorBefore = false;
          item.visible = true;
      contextMenu.customItems[1] = item; 
      //BUG ------------------------------------------------------------------
   
      //enable
      var customItem:ContextMenuItem = new ContextMenuItem( "/( ◕‿‿◕ )\" );
      contextMenu.customItems[2] = customItem;
      
      //enable
      contextMenu.customItems[3] = new ContextMenuItem( "僕と契約して魔法少女になってよ", false, true, true );
     contextMenu.customItems[4] = new ContextMenuItem( "  わけがわからないよ", false, true, true );
      contextMenu.customItems[5] = new ContextMenuItem( "  こんなの絶対おかしいよ", false, true, true );
      contextMenu.customItems[5].addEventListener( ContextMenuEvent.MENU_ITEM_SELECT, onItemSelect );
 
      
    }
    public var contextMenu:ContextMenu = new ContextMenu();
    
    private function onMenuSelect( event:ContextMenuEvent = null ):void{
      //addEventListener( ContextMenuEvent.MENU_SELECT, onItemSelect );
      //removeEventListener( ContextMenuEvent.MENU_SELECT, onItemSelect );
    }
    private function onItemSelect( event:ContextMenuEvent = null ):void{
      //addEventListener( ContextMenuEvent.MENU_ITEM_SELECT, onItemSelect );
      //removeEventListener( ContextMenuEvent.MENU_ITEM_SELECT, onItemSelect );
    }
  }