2017-01-06 11 views
2

私はC++でgtkmmライブラリを使用しています。これは私が「開く」を定義するコードの一部です:クリックすることができないgtkmmメニュー項目をグレーアウトする方法

Gtk::ImageMenuItem *menuOpen = Gtk::manage(new Gtk::ImageMenuItem(Gtk::Stock::OPEN)); 
menuFile->append(*menuOpen); 

私は私がそれをクリックすることができない場合は、「オープン」はグレー表示されるようにしたいが、私はそれを行うことを可能にする方法を知りません。助言がありますか?

ありがとうございました。

答えて

0

gtkmm 3では、Gtk::ImageMenuItemGtk::Stockは廃止されているので、使用しないことをお勧めします。 Gtk::MenuItemは、テキストを"_Open"に設定して使用してください。

gtkmmのすべてのウィジェットは、Gtk::Widgetに由来します。使用する方法はGtk::Widget::set_sensitive(bool)です。

は、灰色または小文字を区別しない、あなたのメニューを作るために使用します。

menuOpen->set_sensitive(false); 

がメニュー項目を再度有効にするには:

menuOpen->set_sensitive(); 

あなたはそれがグレーアウトされているかどうかを知りたい場合は、使用:

bool am_i_sensitive = menuOpen->get_sensitive(); 
関連する問題