
9.Меню
Создание строки меню 1
Создание элементов меню 1
Многоуровневые меню 2
Группировка элементов меню 2
Написание кода для обработки команд меню 3
КонтекстнОЕ меню 3
Создание контекстных меню 3
Активизация контекстного меню 3
Панели инструментов Visual Basic 4
Создание строки меню
О
дной
из основных проблем разработки
пользовательского интерфейса любой
программы является создание средства
быстрого и удобного доступа ко всем
командам, поддерживаемым данным
приложением. Пользователи уже успели
привыкнуть к тому. что для запуска
большинства команд нужно
выполнить несколько щелчков мышью.
Кроме того, они хотят, чтобы все команды
были сосредоточены в одном месте. Чтобы
удовлетворить все эти требования, в
Visual Basic
предусмотрено специальное средство
Menu Editor, с помощью которого
можно быстро и удобно создать структуру
меню разрабатываемой программы. Данное
средство можно использовать и для
создания строки меню для любой формы
вашего приложения, а также контекстных
(или всплывающих) меню. Как правило, все
команды сгруппированы по логическим
функциям (работа с файлами, редактирование,
изменение режимов просмотра объектов
и др.).
Создание элементов меню
Для создания меню вначале следует открыть форму, в которой должно быть расположено новое меню, в режиме конструктора, а затем запустить редактор меню (Menu Editor) одним из трех способов:
щелкните на кнопке Menu Editor, расположенной на панели инструментов Visual Basic;
выберите команду меню Tools ► Menu Editor;
н
ажмите комбинацию клавиш Ctrl + E.
Каждая строка текста (пункт меню), находящаяся в меню, является элементом управления этого меню (Menu Control), по аналогии с тем, что любая кнопка, помещенная в форму, является элементом управления типа CommandButton. Для создания элементов управления меню и изменения их свойств используется редактор меню Menu Editor. Свойства элементов управления меню перечислены ниже.
Caption – обязательное свойство. Значением данного свойства является тот текст, который отображается в элементе меню. Если вы хотите указать клавишу быстрого доступа, чтобы дать возможность пользователю выбирать команды меню с помощью клавиатуры, поместите символ амперсанта (&) перед нужной буквой. Например, если значение свойства Caption для некоторого элемента управления меню равно &Файл, при отображении его на экране буква "Ф" будет подчеркнута, и пользователи смогут открыть пункт меню Файл, нажав клавиши Alt + Ф.
Name – обязательное свойство. Данное свойство используется для идентификации элемента управления меню в коде программы, и вы должны присвоить всем элементам меню значимые уникальные имена. Для имён пунктов меню, как правило, используют префикс mnu.
Index – необязательное свойство. Если элемент меню является частью массива элементов управления, значение свойства Index определяет его уникальный численный идентификатор в массиве.
Shortcut – необязательное свойство. С помощью этого свойства вы можете назначить комбинацию клавиш для быстрого вызова команд меню, без фактического обращения к меню. Например, в приведённом на рисунке примере меню выйти из программы можно с помощью комбинации клавиш Ctri + E. При выборе сочетаний клавиш для команд меню следует руководствоваться только здравым смыслом и не забывать о принятых в Windows "стандартных" клавиатурных эквивалентах для часто используемых команд, к которым привыкли многие пользователи.
HelpContextlD – необязательное свойство. С помощью данного свойства элементу управления меню назначается идентификатор, который используется в электронной справочной системе для выдачи контекстно-зависимой справки по вашему приложению.
NegotiatePosition – необязательное свойство. Если в разрабатываемом вами приложении содержатся связанные или встроенные объекты, то данное свойство определяет способ отображения меню на экране, когда один из этих объектов активен.
Checked. Если значение данного свойства равно True, рядом с элементом управления меню появляется галочка. Это может сигнализировать пользователю, например, о том, что определенный параметр выбран. Если значение данного свойства равно False, галочка не отображается. Элементам управления первого уровня, которые отображаются в строке меню нельзя присвоить значение этого свойства True.
Enabled. Значение описываемого свойства определяет, можно ли в данный момент воспользоваться соответствующей командой меню. Если оно равно False, это означает, что выполнять команду меню в данный момент времени нельзя.
Visible. Данное свойство определяет, будет ли виден на экране соответствующий элемент управления меню. При разработке приложения вы можете предусмотреть несколько наборов меню, которые должны появляться на экране в определенные моменты времени. Например, если в вашем приложении не открыто ни одно окно, меню Window не должно появляться на экране.
WindowList. Данный флажок предназначен для элемента управления меню формы, являющейся элементом многодокументного интерфейса (MDI). Установка этого флажка для элемента управления меню верхнего уровня приведет к тому, что в данном элементе будет автоматически формироваться динамический список всех активных дочерних окон.