2009-12-19 69 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