若要创建 NativeMenu 对象来充当菜单的根,请使用 NativeMenu 构造函数:
var root:NativeMenu = new NativeMenu();
对于应用程序菜单和窗口菜单,根菜单表示菜单栏,并且应当只包含打开子菜单的项目。上下文菜单和弹出菜单没有菜单栏,因此根菜单可以包含命令和分隔线以及子菜单。
在创建菜单之后,可以添加菜单项。除非使用菜单对象的
addItemAt()
方法在给定索引处添加项目,否则项目以添加顺序出现在菜单中。
将菜单分配为应用程序、窗口、图标或上下文菜单,或将其显示为弹出菜单,如以下几节所示:
设置应用程序菜单或窗口菜单
您的代码中应包含应用程序菜单(受 Mac OS 支持)和窗口菜单(受其他操作系统支持),这很重要
var root:NativeMenu = new NativeMenu();
if (NativeApplication.supportsMenu)
{
NativeApplication.nativeApplication.menu = root;
}
else if (NativeWindow.supportsMenu)
{
nativeWindow.menu = root;
}
注:
Mac OS 定义了一个菜单,其中包含可用于每个应用程序的标准项目。将新 NativeMenu 对象分配给 NativeApplication 对象的
menu
属性可以替换标准菜单。还可以使用标准菜单,而不是替换它。
Adobe Flex 提供了 FlexNativeMenu 类,用于方便地创建跨平台工作的菜单。如果您使用的是 Flex 框架,请使用 FlexNativeMenu 类,而不要使用 NativeMenu 类。
在交互式对象上设置上下文菜单
interactiveObject.contextMenu = root;
设置停靠栏图标菜单或系统托盘图标菜单
您的代码中应包含应用程序菜单(受 Mac OS 支持)和窗口菜单(受其他操作系统支持),这很重要
if (NativeApplication.supportsSystemTrayIcon)
{
SystemTrayIcon(NativeApplication.nativeApplication.icon).menu = root;
}
else if (NativeApplication.supportsDockIcon)
{
DockIcon(NativeApplication.nativeApplication.icon).menu = root;
}
注:
Mac OS X 为应用程序停靠栏图标定义了标准菜单。在将新 NativeMenu 分配给 DockIcon 对象的 menu 属性时,该菜单中的项目将显示在标准项目之上。不能删除、访问或修改标准菜单项。
以弹出方式显示菜单
root.display(stage, x, y);