Функции для работы с меню |
Начиная с
появилась возможность динамически изменять или заменять любое меню в том числе и меню верхнего уровня.Для этого нужно либо создать с нуля либо изменить готовое меню (или подменю) и затем сохранить его как динамическое. При следующей загрузке сохраненное меню заменит собой меню (подменю) с таким же именем. Т.е. данные средства ориентированы на динамическое конструирование меню, предназначенного для долговременного использования.
Меню интегратора приложений (DESK) данными средствами изменить нельзя.
Пример динамического меню.
//************************************************ const cmAddDMenu = 3003; cmDelDMenu = 3004; end; //************************************************ interface aaa; //------------------------------------------------ create view as select * from x$files ; //------------------------------------------------ screen sss; buttons cmAddDMenu; cmDelDMenu; << <.Add dMenu.> <.Del dMenu.> >> end; //------------------------------------------------ handleEvent cmAddDMenu: { var m : longint; m := CreateMenu; AddMenuItemEx2(m, 'Пункт 1', '', '', cmRunInterface, 0, 'AtlCalc'); AddSubMenuDynamic(m, 'Information', 'Info', '', ''); AddMenuItemEx(m, 'Пункт 2', '', '', cmOk, 0); StoreMenuHowDynamics (m, 'vspom'); DisposeLoadMenu (m); ReinitHeaderMenu; } cmDelDMenu: { DeleteMenuHowDynamics ('vspom'); ReinitHeaderMenu; } end; end.
Динамическое меню доступно начиная с Атлантис 5.4.13.