我在wxFrame上有一个wxTextControl和一个wxButton,我想要Shift + Enter来点击按钮。 wxAcceleratorTable documentation表示这是可能的:
"例如,您可以使用加速器表启用带有多行文本控件的对话框,以接受CTRL-Enter作为含义' OK'。"
我无法让它发挥作用。你能举个简单的例子说明如何一起使用wxFrame,wxTextControl,wxButton和wxAcceleratorTable吗?
答案 0 :(得分:0)
事实证明,wxAcceleratorTable只能与wxGTK上的wxEVT_MENU一起使用。所以代码看起来像这样:
wxAcceleratorEntry shiftReturn(wxACCEL_SHIFT, WXK_RETURN, wxID_BACKWARD);
SetAcceleratorTable(wxAcceleratorTable(1, &shiftReturn));
Bind(wxEVT_MENU, &FindFrame::OnPrev, this, wxID_BACKWARD);
相反,我们决定使用原生加速器用于GTK和OSX而不是wx加速器,这样键盘快捷键就可以为目标按钮设置动画。在604cdb5上查看b00a76e,91a8d2a和Poedit's GitHub page。