- Кнопки и меню
- Командные и инструментальные кнопки
- Специальные кнопки
- Специфика обработки событий кнопок
- Создание главного меню приложения
- Работа с Редактором Меню в среде VB
- Пример создания оболочки меню в среде VB
- Пример создания оболочки меню в среде BCB
- Создание всплывающих меню в VB
- Создание всплывающих меню в BCB и Delphi
- Нестандартное меню
Пример создания оболочки меню в среде VB
Опубликовано admin в Втр, 02/09/2010 - 23:31
Приложение 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. Внешний вид оболочки главного меню
