addMouseListener не работает на juce :: TreeView - PullRequest
0 голосов
/ 16 марта 2011

Я не получил ответа от официального форума JUCE, и я пытаюсь спросить здесь и надеюсь.

Вот моя проблема:

Я хочу зарегистрировать / перехватить событие 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 Ответ

1 голос
/ 09 сентября 2011

Извините за поздний ответ, но ... за запись:

То, что вы здесь делаете, это добавление MouseListener в ваш основной компонент и указание не пересылать события его дочерним элементам (2-й параметр == false), поэтому поведение вполне нормальное.

ИМХО, оно должно работать, если вы вместо этого написали:

tv->addMouseListener(this, false);
...