Пропустить навигацию.
Главная

Пример создания оболочки меню в среде VB

Приложение 5_12 (VB).

Предположим, что мы хотим разместить на форме меню, разделы которого со всеми нюансами представлены на рис. 5.17.

Кнопки и меню

Рис. 5.17. Главное меню с тремя разделами

Активизируем форму и вызываем Редактор Меню. Из приведенного состава меню следует, что содержимое строк поля меню, которое нам предстоит сформировать, должно выглядеть следующим образом:

1. &File

2. ….&New

3. ….&Open…

4. ….&Save Ctrl+S

5. ….-

6. ….E&xit

7. &Edit

8. ….Cu&t Ctrl+X

9. ….&Copy Ctrl+C

10. ….&Paste Ctrl+V

11. ….&Delete Ctrl+Del

12. &Search

13. ….&Find Ctrl+F

14. ….&Replace Ctrl+R

15. ….&Search Again F3

Для формирования строки 1 в поле меню набираем в окне с обозначением Caption текст &File. Повторяем его же, но уже без амперсанда, в окне с обозначением Name. В принципе, программное имя первого заголовка меню может быть и другим. Однако чаще всего имена характеристик Caption и Name дублируют, чтобы не запутаться в двойных обозначениях. Для перехода к описанию следующего элемента меню нажимаем кнопку Next.

Перед набором следующих пяти команд меню, открываемого заголовком File, стоит один раз нажать кнопку с жирной правой стрелкой для установки первого уровня вложенности. После этого набор 2-й и 3-й строк ничем не отличается от описания первого элемента меню.

Формирование 4-й строки на поле меню сопряжено с некоторым нюансом — мы должны пополнить наименование элемента меню обозначением клавишной команды (<Ctrl>+<S>). Для этого открываем список Shortcut и выбираем в нем строку с клавишной командой <Ctrl>+<S>. Она автоматически будет перенесена в текущую строку. Этим же приемом придется воспользоваться и при наборе 8-й и последующих строк.

Еще один нюанс нас ожидает при наборе 5-й строки, представляющей описание разделительной линии в меню. В поле Caption достаточно набрать единственный символ «-». Несмотря на то, что линия в меню весьма условно может быть названа объектом управления, ей, тем не менее, придется присвоить имя в поле Name. В противном случае в момент выхода из Редактора Меню вы получите сообщение о нехватке данных. Естественно, что имя разделительной линии не может начинаться со знака «минус». Каждый программист должен как-то единообразно именовать разделительные линии, например — qq1, qq2, qq3,… .

Перед набором 7-й строки необходимо вернуться по уровню вложенности назад, воспользовавшись кнопкой с левой стрелкой. Набор остальных элементов меню выполняется без каких-либо проблем. Перед тем, как нажать клавишу <OK> и выйти из Редактора Меню, вы можете еще раз совершить путешествие по всем строкам поля меню и проследить за всеми характеристиками описанных элементов. Они автоматически отображаются в окнах ввода и на отметках логических кнопок.

Небольшая неточность в реализации данного меню связана с выбором клавишной комбинации для команды <Delete>. В среде Visual Basic для нее принята одноклавишная команда <Del>, а не сочетание <Ctrl>+<Del>, как это сделано в системах фирмы Borland. Поэтому из списка Shortkeys пришлось извлекать то, что там есть.

Обращаем внимание на то, что при описании элементов меню вы не должны отключать признаки Enabled и Visible. В противном случае такие строки меню окажутся недоступными на стадии проектирования программы, и вы не сможете написать для них событийные процедуры.

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

Кнопки и меню

Рис. 5.18. Внешний вид оболочки главного меню