2009-12-19 41 views
1

我在我的Flex应用程序上有一个面板组件。这个组件有一个点击事件,当用户点击面板时会触发这个事件。但我想知道点击的面板区域。事实上,我想知道的是,如果点击面板的标题栏。 我该怎么做?如何知道鼠标点击是否在标题栏上完成

回答

4

当在localXlocalY属性中进行单击时,MouseEvent将存储鼠标的位置。这样,如果鼠标位于标题栏之上,您可以计算一下以找出结果。

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

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

+0

谢谢!最后,我创建了一个扩展Panel类的自定义组件,并添加了一个函数,该函数返回titleBar属性以获取其宽度和高度。 – Kezern 2009-12-20 20:33:22

+0

我不认为它是最好的解决方案,但它的工作原理。谢谢! – csomakk 2013-02-20 10:39:00

相关问题