Как выделить серый пункт меню gtkmm, на который нельзя щелкнуть

Я использую библиотеку gtkmm в C ++. Это часть кода, где я определяю «Открыть»:

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

Я хочу, чтобы «Открыть» было серым, если я не могу щелкнуть по нему, но я не знаю метод, который позволяет это сделать. Какие-либо предложения?

Спасибо за помощь.

2

Решение

В гткмм 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();
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]