0

wxFrame に wxTextControl と wxButton があり、Shift+Enter でボタンがクリックされるようにします。wxAcceleratorTableのドキュメントには、これが可能であると書かれています:

「たとえば、アクセラレータ テーブルを使用して、複数行のテキスト コントロールを含むダイアログを有効にして、CTRL-Enter を「OK」を意味するものとして受け入れることができます。」

私はそれを働かせることができません。wxFrame、wxTextControl、wxButton、および wxAcceleratorTable を一緒に使用する方法の簡単な例を教えてください。

4

1 に答える 1

2

wxAcceleratorTable は、wxGTK の wxEVT_MENU でのみ使用できることがわかりました。したがって、コードは次のようになります。

wxAcceleratorEntry shiftReturn(wxACCEL_SHIFT, WXK_RETURN, wxID_BACKWARD);
SetAcceleratorTable(wxAcceleratorTable(1, &shiftReturn));
Bind(wxEVT_MENU, &FindFrame::OnPrev, this, wxID_BACKWARD);

代わりに、wx アクセラレータの代わりに GTK と OSX のネイティブ アクセラレータを使用することにしました。これにより、キーボード ショートカットがターゲット ボタンをアニメーション化します。Poedit の GitHub ページ604cdb5b00a76e、および91a8d2aを参照してください。

于 2015-04-27T18:11:12.673 に答える