Я использую библиотеку gtkmm в C ++. Это часть кода, где я определяю «Открыть»:
Gtk::ImageMenuItem *menuOpen = Gtk::manage(new Gtk::ImageMenuItem(Gtk::Stock::OPEN));
menuFile->append(*menuOpen);
Я хочу, чтобы «Открыть» было серым, если я не могу щелкнуть по нему, но я не знаю метод, который позволяет это сделать. Какие-либо предложения?
Спасибо за помощь.
В гткмм 3 оба Gtk::ImageMenuItem
а также Gtk::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();
Других решений пока нет …