Недоступность меню
Если нет, тогда не знаю.
Как сделать меню недоступным для пользователя на период выполнения потока. Если подробнее в программе при выборе пользователя определенного пункта меню запускается поток. Если меню будет доступно то при повторном выборе того же пункта опять запустится поток чего делать не нужно но засеривать меню нельзя я хотел сделать недоступным все пункты.
Нет на самом деле все проще чем ты думаешь. Я недавно столкнулся с этой же проблемкой, помучился но решил (на WinApi). Вызываешь:
EnableMenuItem(HMENU- handle твоего меню,
ID - порядковый номер пункта меню
(если у него нет идентификатора в
ресурсах),
и наконец 3-й параметр =
MF_DISABLED|MF_GRAYED|MF_BYPOSITION)
да обрати внимание на MF_BYPOSITION, благодаря этому параметру ты можешь заблокировать всю ветку меню.
Соответственно если есть пункты меню Файл, База Данных, Помощь, определенные как Pop-Up, то засерить и запретить их можно:
EnableMenuItem(MENU,1, MF_DISABLED|MF_GRAYED|MF_BYPOSITION);
EnableMenuItem(MENU,2, MF_DISABLED|MF_GRAYED|MF_BYPOSITION);
EnableMenuItem(MENU,3, MF_DISABLED|MF_GRAYED|MF_BYPOSITION);
Надеюсь идею ты понял. Если чего пиши!
EnableMenuItem(HMENU- handle твоего меню,
ID - порядковый номер пункта меню
(если у него нет идентификатора в
ресурсах),
и наконец 3-й параметр =
MF_DISABLED|MF_GRAYED|MF_BYPOSITION)
Да спасибо так гораздо удобнее чем засервать каждый пункт по отдельности. Кстати в MFC в классе СMenu есть такой же метод только функция не содержит handl'а