Группировка элементов меню

Меню

Создание строки меню__ 1

Создание элементов меню_ 1

Многоуровневые меню_ 2

Группировка элементов меню_ 2

Написание кода для обработки команд меню_ 2

КонтекстнОЕ меню__ 3

Создание контекстных меню_ 3

Активизация контекстного меню_ 3

Панели инструментов Visual Basic_ 4

Создание строки меню

Группировка элементов меню Одной из основных проблем разработки пользовательского интерфейса любой программы является создание средства быстрого и удобного доступа ко всем командам, поддерживаемым данным приложением. Пользователи уже успели привыкнуть к тому. что для запуска большинства команд нужно выполнить несколько щелчков мышью. Кроме того, они хотят, чтобы все команды были сосредоточены в одном месте. Чтобы удовлетворить все эти требования, в Visual Basic предусмотрено специальное средство Menu Editor, с помощью которого можно быстро и удобно создать структуру меню разрабатываемой программы. Данное средство можно использовать и для создания строки меню для любой формы вашего приложения, а также контекстных (или всплывающих) меню. Как правило, все команды сгруппированы по логическим функциям (работа с файлами, редактирование, изменение режимов просмотра объектов и др.).

Создание элементов меню

Для создания меню вначале следует открыть форму, в которой должно быть расположено новое меню, в режиме конструктора, а затем запустить редактор меню (Menu Editor) одним из трех способов:

O щелкните на кнопке Menu Editor, расположенной на панели инструментов Visual Basic;

O выберите команду меню Tools Menu Editor;

O Группировка элементов меню нажмите комбинацию клавиш 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). Установка этого флажка для элемента управления меню верхнего уровня приведет к тому, что в данном элементе будет автоматически формироваться динамический список всех активных дочерних окон.

Многоуровневые меню

Практически любая программа, написанная для системы Windows, содержит многоуровневые меню или меню, в которых команды сгруппированы по их логическому назначению. При запуске программы в строке меню диалогового окна обычно видны только элементы меню верхнего уровня. Для открытия какого-либо меню нужно просто на нем щелкнуть. В результате на экране появится список элементов, которые входят в выбранное вами меню и составляют его подменю. Каждый элемент подменю может представлять либо отдельную команду, либо другое подменю. В Visual Basic можно создавать до шести уровней вложенности меню. В реальных программах рекомендуется использовать не более двух-трех. Причина состоит в том, что глубоко вложенные меню затрудняют работу и раздражают пользователей.

Уровень вложенности пункта меню отображается величиной отступа названия пункта меню от левого края области предварительного просмотра. Изменить уровень меню можно с помощью кнопок со стрелками вправо или влево.

Пункты меню первого уровня отображаются в строке меню формы. Каждый пункт меню второго уровня является подпунктом меню первого уровня, под которым он расположен. Для изменения последовательности расположения пунктов меню в области предварительного просмотра выделите тот пункт, который хотите переместить и нажмите кнопку со стрелкой вверх или вниз.

Для удаления пункта меню выделите в области предварительного просмотра тот пункт, который хотите удалить и нажмите кнопку Delete.

Для вставки нового пункта меню выделите в области предварительного просмотра тот пункт, перед которым вы хотите вставить новый пункт, и нажмите кнопку Insert.

Группировка элементов меню

Помимо того, что элементы управления меню можно разместить по различным логическим уровням, элементы меню одного уровня можно визуально сгруппировать. Для этого в нужных местах длинного списка меню обычно помещается разделительная линия (separator bar). Она создается с помощью редактора меню точно так же, как и любой другой элемент управления меню, за одним исключением – в свойство Caption нужно поместить дефис (-). В результате будет создана линия, которая разделяет меню по всей ширине.

Разделительная линия также является элементом управления меню, поэтому ему необходимо задать уникальное значение свойства Name. Обычно для этой цели используются пронумерованные имена, например, такие как mnu1, mnu2 и т.д. Разделительная линия является неактивным элементом управления и для неё нельзя создать процедуру обработки события.

Разделительную линию нельзя использовать в меню первого уровня (в строке меню формы). Она может быть только частью вложенного меню.

Урок 14. Menu Android: добавляем иконки и чекбоксы, программно добавляем и скрываем пункты меню


Похожие статьи.

Понравилась статья? Поделиться с друзьями: