代码之家  ›  专栏  ›  技术社区  ›  tefozi

在关联菜单中创建子菜单

  •  0
  • tefozi  · 技术社区  · 16 年前

    是否可以在Adobe Flex的上下文菜单(右键单击菜单)中创建子菜单?

    Menu1 >
      - Menu1.1
      - Menu1.2
    Menu2 >
      - Menu2.1
      - Menu2.2
      - Menu2.3
    
    2 回复  |  直到 16 年前
        1
  •  0
  •   JeffryHouser    14 年前

    不,这是目前的限制之一,我相信Flash播放器。

    在adobeair中,可以使用 NativeMenuItem

        2
  •  -1
  •   Tahir Alvi Sean Kinsey    14 年前

    在AIR应用程序中添加子菜单的简便方法

        <?xml version="1.0" encoding="utf-8"?>
       <s:Panel xmlns:fx="http://ns.adobe.com/mxml/2009" 
             xmlns:s="library://ns.adobe.com/flex/spark" 
             xmlns:mx="library://ns.adobe.com/flex/mx" width="400" height="400"
             creationComplete="panel1_creationCompleteHandler(event)"
             rightClick="panel1_rightClickHandler(event)" title="Context Menu with                         Subitem">
    
        <fx:Script>
            <![CDATA[
                import mx.controls.Alert
                private var myContextMenu:ContextMenu = new ContextMenu();
    
                protected function panel1_creationCompleteHandler(event:Event):void
                {
                    this.contextMenu = myContextMenu;
                }
                protected function panel1_rightClickHandler(event:MouseEvent):void
                {
                    var menuItem1:ContextMenuItem = new ContextMenuItem('Menu 1');
                    var menuItem2:ContextMenuItem = new ContextMenuItem('Menu 2');
    
    
                    myContextMenu.customItems = [menuItem1, menuItem2 ];
    
                    var subMenuItem1:ContextMenuItem = new ContextMenuItem('Sub-  Menu 1');
                        subMenuItem1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemClick);
    
                    var subMenuItem2:ContextMenuItem = new ContextMenuItem('Sub-   Menu 2');
                        subMenuItem2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemClick2);
    
                    var myContextSubMenu:ContextMenu = new ContextMenu();
                    myContextSubMenu.customItems = [subMenuItem1, subMenuItem2];
    
                    menuItem1.submenu = myContextSubMenu;
                }
                protected function menuItemClick(event:Event):void
                {
                    Alert.show('Sub-Menu 1 is clicked');
                }
                protected function menuItemClick2(event:Event):void
                {
                    Alert.show('Sub-Menu 2 is clicked');
                }
            ]]>
        </fx:Script>
        <fx:Declarations>
            <!-- Place non-visual elements (e.g., services, value objects) here -->
        </fx:Declarations>
    </s:Panel>
    

    推荐文章