2011-03-16 55 views
0

我沒有從JUCE的官方論壇回答,我想在這裏問一下,希望。addMouseListener不能在juce上工作:: TreeView

這裏是我的問題:

我要註冊/勾mouseDoubleClick事件JUCE :: TreeView控件類或它的派生。

void MainComponent::mouseDoubleClick (const MouseEvent &e) 
{ 
// 
// do something here 
} 

MainComponent::MainComponent(....) 
{ 
tv = new TreeView(); 
addAndMakeVisible(tv); 

addMouseListener(this, false); 

} 

上面的代碼不起作用,JUCE創建者也沒有答案。我的問題是如何使它工作?應該可以用簡單的例子來解釋。 addMouseListener()會不一致,應該記錄下來,例如「addMouseListener不適用於某些類,比如TreeView」。我很樂意在文檔上找到它,並避免使用以前的技術。

+1

那是什麼你得到實際的錯誤?它會爲你工作,而不是在你存儲在TreeView中的'TreeViewItem'派生的類中實現'itemDoubleClicked()'? – bgporter 2011-03-17 15:11:12

回答

1

對不起,我回答晚了,但...備案:

你在做什麼這裏添加的MouseListener你的主要成分,並告訴它不要將事件轉發到它的孩子(第2 param == false),所以行爲很正常。

恕我直言,如果你寫的,而不是它應該工作:

tv->addMouseListener(this, false);