Функции для работы с меню Назад В начало Вперед

Начиная с Атлантис 5.4.13 появилась возможность динамически изменять или заменять любое меню в том числе и меню верхнего уровня.

Для этого нужно либо создать с нуля либо изменить готовое меню (или подменю) и затем сохранить его как динамическое. При следующей загрузке сохраненное меню заменит собой меню (подменю) с таким же именем. Т.е. данные средства ориентированы на динамическое конструирование меню, предназначенного для долговременного использования.

Меню интегратора приложений (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.

Оглавление раздела

Функция AddMenuItem

Функция AddMenuItemEx

Функция AddMenuItemEx2

Функция AddMenuItemEx3

Функция AddSubMenu

Функция AddSubMenuDynamic

Функция ConcatMenu

Функция CreateMenu

Функция DeleteMenuHowDynamics

Функция DeleteMenuItem

Процедура DisposeLoadMenu

Функция GetMenuItemState

Функция LoadMenu

Функция LoadMenuEx

Процедура ReinitHeaderMenu

Функция RunLoadMenu

Функция SetMenuItemState

Функция StoreMenuHowDynamics