`
#天琪#
  • 浏览: 159339 次
  • 性别: Icon_minigender_2
  • 来自: 长沙
社区版块
存档分类
最新评论

关于MenuBar

    博客分类:
  • FLEX
阅读更多
~~~~~~~~~~~~~~~~~~~~~~~~写给自己看的~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

比如一个myMenu的MenuBar,其实数据源就跟我们平常用的软件菜单栏一样,有子菜单弹出菜单,如果我们给myMenu添加MenuEvent.ITEM_ROLL_OVER事件,然后在鼠标滑动的时候得到myMenu的菜单索引(trace((e.target as MenuBar).selectedIndex);),将会发现顶级菜单的selectIndex全部都是-1,子菜单为顶级菜单在菜单栏中的索引值。如果是利用MenuEvent.index(trace(e.index);)得到myMenu的菜单索引,无论是顶级菜单还是子菜单都会得到正确结果,但如果想利用得到的索引值来触发一些事件或做些什么将会引起一些预料之外的麻烦,因为这时的索引值所对应的菜单项并不唯一。MenuEvent.index指的是相关联菜单项在其父菜单或子菜单中的索引。

点击Menubar的顶级菜单不触发MenuEvent.ITEM_CLICK这个事件,该事件由子菜单触发,侦听函数(trace((e.target as MenuBar).selectedIndex);),得到的索引跟MenuEvent.ITEM_ROLL_OVER事件一样,值为顶级菜单在菜单栏中的索引值。帮助文档中说

selectedIndex : int
MenuBar 控件中当前打开的菜单或上一次打开的菜单(如果当前没有打开菜单)的索引。

我想的理解能力在待加强.可是不明白那个-1是怎么来的!!!!!!!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
现在思路挺乱的,完全不明白它的原理流程之类的,这样的学习效果是非常差的~~~~~~~有点郁闷~~~好想有个人指导下~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
如果需要当鼠标位于顶级菜单的某一项时,转而执行某一特定代码。这个时个就像上面所说用selectIndex或者e.index都不大合适,可以试着利用MenuEvent.MENU_SHOW事件,再利用(e.target as MenuBar).selectedIndex得到该选择的菜单在顶级菜单中的索引,再利用这个索引值,转而执行其他的代码。

MenuEvent.MENU_SHOW  当弹出子菜单打开或用户选择的菜单栏项目没有下拉菜单时调度。也就是说在菜单由隐藏到显示或者是MenuBar获得焦点时调试。
MenuBar的selectIndex是指子菜单索引而不是下拉菜单索引。

而MenuEvent.ITEM_CLICK是对MenuBar的下拉菜单的事件,唉~好像搞个图弄下~,总之去尝试下,很快就会明白的。

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
height="300" width="500"   initialize="initApp()" >
    <mx:Script> 
        <![CDATA[
        import mx.events.MenuEvent;
        import flash.events.MouseEvent;
       
        public var menubarXMLList:XMLList;
        public function initApp():void
        {
        menubarXMLList=new XMLList(menuBarXML.item);
        myMenu.dataProvider=menubarXMLList;
            myMenu.addEventListener(MenuEvent.MENU_SHOW,menuShowHandler);
            myMenu.addEventListener(MenuEvent.ITEM_CLICK,clickHandler);
        }
       
        function clickHandler(e:MenuEvent):void
        {
             trace("click");
            trace(e.item.@label);
        }

        function menuShowHandler(e:MenuEvent):void
        {
        trace((e.target as MenuBar).selectedIndex);
       
        }


        ]]> 
    </mx:Script> 
    <mx:XML id="menuBarXML" source="MenuBar.xml"/>
     <mx:MenuBar labelField="@label"  height="30" id="myMenu"  width="100%"></mx:MenuBar>
</mx:WindowedApplication>
分享到:
评论

相关推荐

    matlab开发-MenuBar

    在MATLAB中,`MenuBar`是一个非常重要的组件,它用于在图形用户界面(GUI)上创建菜单条。这个工具使得用户能够通过点击菜单项来触发不同的功能或操作,极大地提升了程序的交互性和用户体验。在本项目中,我们将深入...

    Flex MenuBar小例子

    FLex MenuBar的小例子,可以实现下拉菜单的效果,可直接拷贝使用

    窗口都增加一个Menubar.docx

    文档标题提到的是“窗口都增加一个Menubar.docx”,这显然与软件开发和用户界面设计有关,特别是针对Mac OS X操作系统。Menubar是操作系统界面的一个关键元素,通常位于屏幕顶部,提供应用程序的主要功能和设置选项...

    menubar_rebar_rightclick

    标题“menubar_rebar_rightclick”以及描述“menubar rebar rightclick”提及的是Windows应用程序开发中的特定功能,涉及到菜单栏(menubar)、Rebar控件以及右键点击事件处理。在Windows API编程中,这些元素是构建...

    Python tkinter 9 Menubar 菜单 (GUI 窗口 教学教程tutorial)

    Python_tkinter_9_Menubar_菜单_(GUI_窗口_教学教程tutorial)

    menubar_delphi_TMenuBar_COMPONENT_

    - `MenuBar.pas`是`TMenuBar`组件的源代码文件,其中包含了`TMenuBar`类的定义及其所有方法和属性。通过阅读源码,开发者可以了解其内部工作原理,以便更好地利用和自定义该组件。 - `MenuBarDesign.res`是资源...

    MenuBar Control_control_

    关于提供的压缩文件"MenuBar2193941242010",虽然没有详细内容,但根据文件名推测,这可能是一个包含有关MenuBar Control的示例代码、资源或教程的文件。打开这个文件,开发者可能会找到关于如何在实际项目中应用和...

    QT代码创建界面(MenuBar,ToolBar)

    本教程将详细讲解如何使用QT5通过代码来构建界面,特别是`MenuBar`(菜单栏)和`ToolBar`(工具栏)。 首先,我们需要包含必要的头文件,如`QtWidgets`模块,这是QT5用于图形用户界面的主要库: ```cpp #include ...

    vue_menubar.rar

    本案例“vue_menubar.rar”是基于Vue.js实现的一个模仿饿了么的横向导航栏,适用于快速构建具有类似功能的项目。MockJS则是一个用于前端开发中模拟数据的工具,它可以模拟各种接口返回的数据,使得在没有后端配合...

    menubar

    标题中的"menubar"指的是应用程序中的菜单栏,通常位于窗口的顶部,用于提供各种操作选项。在编程领域,创建和管理菜单栏是构建图形用户界面(GUI)的重要部分。接下来,我们将深入探讨菜单栏的概念、功能以及如何在...

    flex动态菜单(Menubar)

    Flex是Adobe开发的一款用于构建富互联网应用程序(RIA)的开源框架,它提供了丰富的组件库,包括Menubar组件,用于创建水平布局的菜单栏。本篇将详细讲解如何利用Flex中的Menubar组件和XML配置来实现动态菜单,并在...

    menubar_sc的素材

    在IT行业中,"menubar_sc"的素材通常指的是与用户界面设计相关的元素,特别是涉及到菜单栏的视觉元素和交互设计。菜单栏是图形用户界面(GUI)中的一个重要组成部分,它通常位于应用程序窗口的顶部,提供对主要功能...

    toolbar\\menubar扩展点

    3. ReadMe.txt:这是常见的说明文件,通常包含关于如何使用压缩包中提供的文件或程序的重要信息。 4. MetroClock:这可能是Metro风格时钟应用的可执行文件,也可能是一个项目文件或源代码文件,用于展示如何在Metro...

    Flex MenuBar从数据库中动态加载图片

    在Flex开发中,`MenuBar`组件是一个常用的菜单栏控件,用于展示层次化的选项。本教程将深入探讨如何从数据库中动态加载图片到`MenuBar`,以创建更加丰富的用户界面。这一过程涉及到数据绑定、自定义渲染器以及与后端...

    JavaFX+Jfoenix 学习笔记(四)--MenuBar菜单栏源码

    在"JavaFX+Jfoenix 学习笔记(四)--MenuBar菜单栏源码"这篇笔记中,我们将深入探讨如何使用JavaFX的`MenuBar`和JFoenix库来创建具有Material Design风格的菜单栏。以下是一些关键知识点: 1. **JavaFX的MenuBar...

    QML 通过ListView 自定义实现 MenuBar

    通过QML中ListView 实现的 MenuBar。QML 自带的组件 MenuBar无法实现高度的自定义样式,只能选择官方设定好的几种样式,在实际应用场景中,我们需要根据程序整体的 UI 风格来设计 MenuBar 中 Menu 的样式,

    IOS应用源码之【框架】别具风格的menubar与tabbar.rar

    本资源"【框架】别具风格的menubar与tabbar.rar"显然是一个关于自定义iOS应用中的导航栏(menubar)和标签栏(tabbar)样式的源码示例。 导航栏(Menubar)通常位于应用屏幕顶部,用于展示当前页面的标题以及提供...

    用工具栏实现MenuBar简单实用.rar

    在本文中,我们将深入探讨如何使用工具栏(ToolBar)来实现MenuBar,这是一个在软件开发中常见且实用的技术,尤其在Windows或跨平台GUI应用程序中。我们将会通过分析`MyToolBar.cpp`和`MyToolBar.h`这两个文件来了解...

    Laravel开发-menubar

    在Laravel框架中,开发一个菜单栏(menubar)是构建Web应用的重要组成部分,它能够为用户提供直观且易于导航的界面。"Laravel开发-menubar"项目可能是一个专门用于创建和管理动态菜单的工具或教程,它可能包含了如何...

Global site tag (gtag.js) - Google Analytics