【问题标题】:how to know if mouse click was done on title bar如何知道鼠标点击是否在标题栏上完成
【发布时间】:2010-12-28 07:56:44
【问题描述】:

我的 flex 应用程序上有一个面板组件。该组件有一个 click 事件,当用户点击面板时会触发该事件。但我想知道点击面板的区域。事实上,我想知道的是是否在面板的标题栏上进行了点击。 我该怎么做?

【问题讨论】:

    标签: apache-flex actionscript-3


    【解决方案1】:

    MouseEvent 存储在localXlocalY 属性中单击鼠标时的位置。这样你就可以计算一下鼠标是否在标题栏上方。

    function panelClick ( event:MouseEvent ) : void
    {
        trace( event.localX + '/' + event.localY );
    }
    

    大多数标准组件还提供对其某些子元素的访问。例如,Panel 组件有一个属性Panel.titleBar,在派生新组件类时可以访问该属性。因此,例如,您可以创建一个新类,为标题栏上的点击提供特殊事件,方法是可以从外部为标题栏添加事件侦听器。

    【讨论】:

    • 谢谢!最后,我创建了一个扩展 Panel 类的自定义组件,并添加了一个返回 titleBar 属性以获取其宽度和高度的函数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-19
    • 1970-01-01
    • 1970-01-01
    • 2012-10-20
    • 1970-01-01
    • 2012-12-15
    • 1970-01-01
    相关资源
    最近更新 更多