我为我的应用程序创建了一个上下文菜单。
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中都显示了。 Flashplayerversion 11.8
答案 0 :(得分:0)
这似乎是Flex的一个错误!我尝试用另外一个菜单项“ÜberdasProgramm”启动你的代码。新项目出现了!然后我尝试用“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>