Студия/Главное меню

From SunFlurry wiki
Jump to: navigation, search

Несмотря на то, что при работе пользователя, используется одно главное меню, Студия позволяет создать несколько разных версий главного меню. Обычно разные версии используются для операторов с разными правами. К примеру, работнику склада нет необходимости (и, может быть, запрещено) иметь доступ к функциям проекта, которые используются работником офиса. Для этих целей можно создать несколько версий главного меню и загружать нужную при запуске программы-клиента. Главное меню можно загрузить в клиенте с помощью функции Initialize в любой момент, но чаще всего это удобно делать в момент запуска программы.

Редактор главного меню состоит из трех основных панелей (см. рис 1.):

  • Панель редактора свойств отображает текущие свойства главного меню или пункта главного меню, в зависимости от того, какая панель в данный момент является активной.
  • Панель версий главного меню (панель главных меню). Содержит список всех созданных главных меню, меню правого клика мыши позволяет добавлять новое или удалять выделенное главное меню. При выделении главного меню, панель редактора свойств отображает следующие свойства:
    • Наименование (Name) -- задает идентификатор меню, с помощью которого его можно будет выгрузить функцией Initialize.
    • Загружать по умолчанию (IsDefault) -- Флажок, останавливаемый на меню, которое будет загружено по умолчанию во время старта клиента.
  • Панель пунктов главного меню, выбранного в панели версий главного меню. Содержит дерево структуры главного меню. Панель позволяет выполнять следующие действия:
    • Меню правого клика мышью позволяет выполнить следующие действия:
      • Добавить пункт меню -- Добавляет пункт меню, располагая его непосредственно за выделенным.
      • Добавить разделитель -- Добавляет разделитель между пунктами меню (полоска, помогающая визуально разделить группы пунктов), располагая его непосредственно за выделенным.
      • Добавить подменю -- Добавляет пункт меню внутрь выделенного пункта меню. Выделенный пункт становится папкой пунктов.
      • Сопоставить картинку -- Позволяет выбрать или удалить картинку-представление для выбранного пункта меню, выбор производится из библиотеки картинок.
      • Удалить (со всеми подменю) -- Позволяет удалить выбранный пункт меню и все его подчиненные пункты, если таковые имеются.
      • Сдвинуть на пункт выше -- Сдвигает выделенный пункт меню на строку выше, можно также воспользоваться перетаскиванием.
      • Сдвинуть на пункт ниже -- Сдвигает выделенный пункт меню на строку ниже, можно также воспользоваться перетаскиванием.
    • С помощью перетаскивания пункта меню мышью, его можно переместить внутрь другого пункта, в корневой список пунктов или изменить его положение относительно пунктов меню, находящихся на том же уровне внутри того же пункта родителя.
    • При выделении определенного пункта меню, панель редактора свойств отображает следующие свойства:
      • Наименование (Name) -- задает идентификатор пункта меню, с помощью которого к нему можно получить доступ программно функцией Item.
      • Представление (Caption) -- задает текст, который будет виден пользователю при активации меню.
      • Событие пункта меню (OnClick) -- открывает редактор модулей, позволяющий отредактировать текст обработчика события пункта меню.
      • Отображение флажка (IsCheckable) -- отображает флажок рядом пунктом меню. Флажок можно изменить программно с помощью функции Item.Check.

При создании нового проекта, система создает также меню по умолчанию, включающее основные системные функции (вызов помощи, калькулятора, завершение работы и т.д.). Системные функции осуществляются в обработчике пункта меню с помощью вызова функции Invoke. Разработчик может добавить или изменить обработчики таких пунктов меню самостоятельно, они не отличаются от пунктов, добавленных вручную.