我有一個派生類,我想根據參數bool
跳過鼠標滾輪事件。所以如果我設置了bScroll = true
,我想要基類Bar來處理Scrollwheel事件。如果bScroll = false
我希望他們被忽略。 使用下面的代碼,事件永遠不會達到基類的OnMouseWheel
函數。這是一種傳播問題嗎? 我該如何解決這個問題? 謝謝!將wxMouseEvent傳播到wxWidget中的基類
class Foo : public Bar
{
public:
Foo(wxWindow *pParent, bool bScroll = true) : Bar(pParent)
{
m_scroll = bScroll;
}
bool m_scroll;
protected:
virtual void OnMouseWheel(wxMouseEvent& roEvent)
{
if(m_scroll)
roEvent.Skip();
}
};
非常感謝!但我會說它只是'如果(m_scroll)Bar :: OnMouseWheel(roEvent);' – tzippy
這個答案是錯誤的,沒有必要明確調用基類函數,事實上,它沒有任何意義如果你這樣做,就調用它*不*跳過這個事件處理程序,因爲如果你跳過它,它將被調用。 @ I.I。非常困惑。 –