Тверской государственный университет
Опубликован: 13.09.2006 | Доступ: свободный | Студентов: 3491 / 369 | Оценка: 4.65 / 4.29 | Длительность: 30:37:00
Специальности: Программист, Менеджер
Лекция 12:

Проектирование интерфейса. Меню

Создание собственного головного меню

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

Использование диалогового окна Настройка

Во всех приложениях Office 2000 можно спроектировать собственное головное меню визуально, используя для этого диалоговое окно Настройка. Для его вызова нужно в меню Вид выбрать команду Панели инструментов (Toolbars), а затем в появившемся подменю - команду Настройка.

Новое меню создается так:

  1. Щелкните кнопку Создать (New) на вкладке "Панели инструментов".
  2. В появившемся окне "Создание панели инструментов" (New Toolbar) введите имя создаваемого меню и щелкните кнопку OK. На экране появится плавающее меню с заданным именем. При работе в Access появляются дополнительные возможности, позволяющие установить свойства панели, что нельзя сделать в других приложениях - Word, Excel, Power Point. При работе в Access:
  3. Щелчком кнопки Свойства (Properties) выведите на экран окно "Свойства панели инструментов" (Toolbar Properties).
  4. Установите в списке Тип (Type) команду "Строка меню" (Menu Bar) в качестве типа создаваемой панели и закройте окно.

Вот, как выглядит окно свойств:

Окно свойств командной панели в приложении Access

Рис. 11.3. Окно свойств командной панели в приложении Access

Имя нового меню появится в списке Панели инструментов на вкладке Панели инструментов.

В окне "Свойства панели инструментов" можно задать и другие свойства создаваемого меню. В частности, свойство закрепление (Docking) и опция перемещение (Allow Moving) позволяют разрешить или полностью или частично запретить перемещение меню по экрану. Для головного меню приложения естественно установить постоянное место на экране. Опция настройка (Allow Customizing) позволяет после завершения создания меню отключить возможность его модификации, а если отключить опцию отображение/скрытие (Allow Showing/Hiding), то меню будет на экране постоянно.

Создание меню с помощью VBA

Новое меню в Excel, Word или PowerPoint обычно создается средствами VBA, поскольку в этих приложениях диалоговое окно Настройка не содержит кнопки Свойства. В Access тоже можно создать меню, используя VBA, но, все же, удобнее действовать описанным выше способом.

Новое меню создается методом Add коллекции CommandBars (Панели команд):

выражение.Add(Name, Position, MenuBar, Temporary)

где выражение - обязательное выражение, возвращающее объект CommandBars, а все параметры в скобках необязательны. Name задает имя нового меню; Position определяет его положение (значения-константы msoBarLeft, msoBarTop, msoBarRight, msoBarButtom определяют положение меню слева, вверху, справа или внизу окна, msoBarFloating задает "плавающее" меню, msoBarPopup указывает, что новое меню будет всплывающим). Значение True параметра MenuBar указывает, что новое меню заменит текущую активную строку меню (по умолчанию - False ). Значение True параметра Temporary означает, что новое меню будет временным и исчезнет, когда закроется содержащее его приложение (по умолчанию - False ).

В следующем примере создается новое меню "Головное меню"

Dim CstmBar As CommandBar
Set CstmBar = CommandBars.Add(Name:="Головное меню", _
			Position:=msoBarTop, MenuBar:=True, Temporary:=False)

Добавление выпадающих меню

Добавлять новые меню (подменю) и команды к существующим меню, встроенным в Office 2000 или созданным пользователем, также можно двумя способами: используя диалоговое окно Настройка или VBA. Рассмотрим, как добавить выпадающее меню к существующей панели меню (головному меню).

Использование диалогового окна Настройка

Это способ добавления меню или команды более нагляден, и в отличие от процедуры создания нового меню, его можно применять в любом приложении Office 2000, а не только в Access. Откройте диалоговое окно Настройка, а затем:

  1. Если модифицируемого меню на экране нет, щелкните кнопку выбора рядом с именем изменяемого меню в списке Панели инструментов на одноименной вкладке Панели инструментов.
  2. В списке Категории (Categories) на вкладке Команды (Commands) выберите Новое меню (New Menu).
  3. Выберите команду Новое меню (New Menu) справа в списке Команды (Commands) и перетащите ее в то меню, к которому Вы хотите добавить новое меню. При этом знак I отмечает то место в меню, куда попадет имя нового меню, когда Вы отпустите кнопку мыши.
  4. Щелкните правой кнопкой мыши Новое меню (New Menu), и введите имя этого меню в поле Имя (Name) появившегося окна. Одновременно можно задать ключ быстрого доступа к этому меню, поставив символ "&" перед буквой, которая будет этим ключом.

Если теперь щелкнуть имя нового меню, на экране под ним появится пустой прямоугольник. Ниже мы покажем, как вставлять в созданное меню новые команды.

Как добавить встроенное меню

Диалоговое окно Настройка позволяет просто добавить (скопировать) любое из встроенных меню к меню, которое Вы создаете. При этом исходное встроенное меню не изменяется. Для этого в диалоговом окне Настройка сделайте модифицируемое меню видимым, а затем:

  1. Выберите в списке Категории вкладки Команды команду Встроенные меню (Built­in Menus).
  2. Выберите в списке Команды имя нужного встроенного меню и перетащите его на нужное место в панель меню, к которой Вы хотите добавить выбранное встроенное выпадающее меню. Знак I отмечает место на панели, куда попадет встроенное меню.

Есть и другой способ копирования встроенного меню: выберите его на его собственной панели и перетащите в свою панель меню при нажатой клавише Ctrl.

Добавление выпадающего меню с помощью VBA

Чтобы добавить новое меню программно, нужно использовать метод Add коллекции CommandBarControls, применив его к объекту типа CommandBar, который представляет панель нашего меню. Этот метод позволяет помещать на панель кнопки ( CommandBarButton ), комбинированные списки ( Command-BarComboBox ) и выпадающие меню ( ComandBarPopup ). Его вызов имеет вид:

выражение.Add(Type, Id, Parameter, Before, Temporary)

где выражение должно возвратить объект типа CommandBarsControl, параметры в скобках необязательны. Параметр Type (Тип) задает тип добавляемого объекта. Его значение msoControlPopup указывает, что добавляемый управляющий элемент - выпадающее меню. Для пользовательских меню параметры Id и Parameter можно опустить. Значение аргумента Before - число, указывающее положение нового элемента в последовательности элементов панели (если его нет, элемент помещается в конец). Определить имя и ключ быстрого доступа к созданному меню можно, задав значение свойства Caption.

Взгляните, как к панели "Головное меню" добавить выпадающее меню "Ввод документов" с ключом быстрого доступа "B":

Dim CstmCtrl As CommandBarControl
	Set CstmCtrl = CstmBar.Controls _
		.Add(Type:=msoControlPopup, Before:=1)
	CstmCtrl.Caption = "&Ввод документов"
полина есенкова
полина есенкова
Дмитрий Вологжин
Дмитрий Вологжин
Добрый день, прошел тесты с 1 по 9, 10 не сдал, стал читать лекцию и всё пройденные тесты с 1 по 9 сбросились, когда захотел пересдать 10 тест.