2009-11-10 40 views
8

GTK +のメニュー項目の一部を無効/無効にしようとしています。私はCでGTK + Gladeのメニューを作成しましたが、いくつかの外部イベントではメニューオプションのいくつかを無効にする必要があります。GtkMenu項目の一部を無効/無効にする方法

どうすればいいですか?

答えて

10

gtk_widget_set_sensitive(menuitem, true/false)を使用して、メニュー項目ウィジェットを無効または有効にすることができます。

また、GtkUiManagerとGtkActionを使用してメニューを構築した場合は、代わりにgtk_action_set_sensitive()を使用してください。

+0

もう一つ質問..を...私はGladeの中でメニューを作成している...私はいくつかの定数IDまたは列挙型定数関連付けることができます各メニュー項目に...コールバックで私は定数に応じて機能を二分することができます。 – User7723337

+0

各項目の「有効化」信号に異なるコールバックを添付することも、すべての項目を1つのコールバックに接続して最初の引数をチェックして、選択した項目を確認することもできます。詳細はhttp://library.gnome.org/devel/gtk/unstable/GtkMenuItem.html#GtkMenuItem-activateをご覧ください。 –

1

使用:どのように私は、そのメニュー項目が選択されている知ってもらうことができます

gtk_widget_set_sensitive (menuitem,FALSE); // to gray-out 
gtk_widget_set_sensitive (menuitem,TRUE); //to enable 
関連する問題