鬱悶了好久、不過後來在國外的一個專門討論wxWidgets的forum上找到了答案,說wxFrame的key事件是有些不太好使,要想使 wxFrame上的key事件好使,就在wxFrame上放一個wxPanel,使用wxPanel的key事件就可以了。在wxPanel的key事件調用wxFrame中的key事件。
如在wxPanel中的keydown事件代碼
OnKeyDown(wxKeyEvent& event)
{
((wxFrame*)GetParent())->OnKeyDown(event);
}
{
((wxFrame*)GetParent())->OnKeyDown(event);
}
據說還有別的方法,比如用Connect方法將所有的子控件的事件和wxFrame的事件連起來。不過這些方法我沒有試,如果哪位閱讀了此文,可以去試一試。有什麼結果,請回復。