> -- GameHunter писал(а):
> Не помогает.
Прошу прощения, послал Вас немножко не тудаКраткое пояснение, как работает меню в ББ:

Вся работа с меню происходит в модуле HostMenus. Там нас интересуют процедуры: PrepareMenu, UpdateMenu и UpdateType и переменная type.

1. Связка UpdateMenu/UpdateType/type отвечает за динамическое формирование строки меню в зависимости от выбранной вьюшки (т.е. тех меню, у которых в файле Menus.odc указан ViewType). Общая схема такова:
UpdateType с помощью Controllers.PollOps посылает сообщение Controllers.PollOpsMsg, и по результату заполняет type, а затем UpdateMenu ориентируясь на полученный тип пересоздаёт что надо.

2. PrepareMenu отвечает за активность пунктов, галочки и прочую атрибутикуотдельных пунктов. Делается это через StdDialog.CheckFilter, который вызывает guard прописанный в файле Menus.odc. Т.е. для каждого конкретного случая нужно смотреть как работает конкретный guard.

Вы указали неработающие пункты - Dev->Set...Mode. Guard для них - StdCmds.Set...ModeGuard, а интересует нас - GetMode. Он используетViews.HandlePropMsgс сообщениемContainers.GetOpts.

Но!Посылается это сообщение только если у вас отображение-singleton или контейнер (т.е. расширение Containers.View). А вот разобраться, как именно оно находит этот singleton меня не хватило - там пяток модулей с хуками и фабриками друг на друга, и проследить цепочку вызовов -Но думаю проблема в том, что Ваша обёртка - Views.View, а не Containers.View.