2016-04-28 28 views
0

ツリービューに 'key-press-event'を追加しようとしています。これは「削除」キーを検出するためのもので、リストから項目を削除できます。私は、次の信号を追加したことを行うために:GTKツリービューに 'key-press-event'シグナルを追加します。

g_signal_connect(G_OBJECT(_treeView), "key-press-event", G_CALLBACK(on_list_keypress), 0);

コールバック関数「on_list_keypress」私はいずれかのボタンを押したときに呼び出されます。しかし、この信号を加えた後、私は矢印、ホーム、エンドキーを使ってメッセージをナビゲートすることができません。

g_signal_connectをg_signal_connect_afterに置き換えました。これで、リスト内の項目が選択されているときに、キーボードを使用してメッセージをナビゲートし、キーの押下を検出できます。

Deleteキーのハンドラを追加した後、Deleteキーを押すと、リストからそのアイテムが削除されます。しかし、私はまた、キーが有効でないかのように、スピーカー(私のケースではPCケースのスピーカー)からビープ音が聞こえます。

削除ボタンを押したときにビープ音が出ないようにする方法があるのでしょうか?

注:g_signal_connectを使用して、[削除]ボタンを押すと、ビープ音は鳴りません。しかし、それは(などなど上下矢印など...)ツリービューのデフォルトのキーボードショートカット

を無効にすることはあなたのon_list_keypress関数はブール値を返す必要があり

答えて

関連する問題