0

我为我的应用程序创建了一个上下文菜单。

if (!contextMenu) 
            {
                contextMenu = new ContextMenu();
            }

            contextMenu.hideBuiltInItems();
            contextMenu.addEventListener(ContextMenuEvent.MENU_SELECT,onContextMenuSelected);

            _cmiEdit=new ContextMenuItem("Ändern");
            _cmiEdit.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,onContextMenuItemSelected);

            _cmiDelete=new ContextMenuItem("Löschen");
            _cmiDelete.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,onContextMenuItemSelected);


            contextMenu.customItems.push(_cmiEdit,_cmiDelete);

在应用程序中,只有第一个 Contextmenuitem 是可见的,我不知道为什么?在 Air 中,两者都显示。Flashplayer版本11.8

4

1 回答 1

0

这似乎是 Flex 的错误!我尝试使用另外一个菜单项“Über das Programm”来启动您的代码。新商品出现了!然后我尝试用“oe”改变Löschen中的“ö”,它成功了!

在此处输入图像描述

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
           xmlns:s="library://ns.adobe.com/flex/spark" 
           xmlns:mx="library://ns.adobe.com/flex/mx" 
           minWidth="955" minHeight="600" creationComplete="init(event)">

<fx:Script>
    <![CDATA[
        import mx.events.FlexEvent;

        protected function init(event:FlexEvent):void
        {
            var _cmiEdit:ContextMenuItem;
            var _cmiDelete:ContextMenuItem;
            var _cmiAbout:ContextMenuItem;

            if (!contextMenu) 
            {
                contextMenu = new ContextMenu();
            }

            contextMenu.hideBuiltInItems();
            contextMenu.addEventListener(ContextMenuEvent.MENU_SELECT, onContextMenuSelected);

            _cmiEdit = new ContextMenuItem("Ändern");
            _cmiEdit.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, onContextMenuItemSelected);

            _cmiDelete=new ContextMenuItem("Loeschen");
            _cmiDelete.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, onContextMenuItemSelected);

            _cmiAbout=new ContextMenuItem("Über das Programm");
            _cmiAbout.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, onContextMenuItemSelected);


            contextMenu.customItems.push(_cmiEdit, _cmiDelete, _cmiAbout);
        }

        protected function onContextMenuSelected(evt:ContextMenuEvent):void
        {

        }

        protected function onContextMenuItemSelected(evt:ContextMenuEvent):void
        {

        }

    ]]>
</fx:Script>

</s:Application>
于 2013-09-12T13:02:05.430 回答