Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UchebnoePosobie_po_VB_6.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.21 Mб
Скачать

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

Пункты меню, близкие по назначению целесообразно группировать, отделяя их от других пунктов меню горизонтальной чертой – разделительная линия (Separator Bar) (рис.2.6.). Эта черта создается так же, как и другие элементы управления меню, но вместо наименования пункта меню ( свойство Caption) вводится дефис (-). Имя данному пункту меню можно присвоить произвольно, например, mnuRaz1 и т. д.

Управление размещением пунктов меню

В редакторе Menu Editor изменение уровня вложенности элемента меню осуществляется с помощью кнопок  и . Первая кнопка понижает уровень, вторая – повышает. Кнопки  и  служат для перемещения выделенного пункта меню по вертикали. Уровень вложенности элемента управления при этом не изменяется.

Взаимодействие меню mdi-формы и дочерних форм

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

Контекстное меню

Контекстное (всплывающие) меню появляется, обычно, после щелчка правой кнопкой мыши по объекту. Порядок разработки контекстного меню практически ничем не отличается от порядка разработки обычного меню. Отличие состоит в том, что для меню верхнего уровня свойство Visible устанавливается в False. То есть, в исходном состоянии меню верхнего уровня, а следовательно, и подчиненные ему элементы меню нижних уровней, невидимы.

Для вызова контекстного меню используется метод PopupMenu. Синтаксис команды вызова всплывающего меню:

ИмяФормы.PopupMenu ИмяЭлементаМеню

Команда вызова контекстного меню записывается в обработчик события нажатия кнопки мыши формы MouseUp для соответствующего пункта меню.

2.5. Упражнения: разработка меню пользователя

Задача 2.1.. Требуется разработать меню для исследования свойства BorderStyle формы.

Порядок работы.

  1. Запустите программу Visual Basic и откройте новый проект Standard EXE (если форма не открывается автоматически при запуске программы).

  2. Опишите пункты меню

Таблица 2.2

Описание элементов меню

Элемент меню

Свойство

Значение

Форма BorderStyle-0

Caption

Name

Форма BorderStyle-&0

mnuForm0

Форма BorderStyle-1

Caption

Name

Форма BorderStyle-&1

mnu Form1

Форма BorderStyle-2

Caption

Name

Форма BorderStyle-&2

mnu Form2

Форма BorderStyle-3

Caption

Name

Форма BorderStyle-&3

mnu Form3

Форма BorderStyle-4

Caption

Name

Форма BorderStyle-&4

mnu Form4

Форма BorderStyle-5

Caption

Name

Форма BorderStyle-&5

mnu Form5

Окно

Caption

Name

&Окно

mnuWindow

Каскад

Caption

Name

&Каскад

mnuCascad

Горизонтально

Caption

Name

&Горизонтально

mnuHorizont

Вертикально

Caption

Name

&Вертикально

mnuVertical

  1. Добавьте к проекту MDI-форму командой Project\Add MDI Form

  2. Создайте меню пользователя первого уровня из шести пунктов (по числу значений свойства BorderStyle формы).

Введите команду Tools\ MenuEditor или щелкните по кнопке MenuEditor стандартной панели инструментов. В поле Caption введите значение свойства Caption первой формы. Набираемый текст будет отображаться в окне просмотра.

Нажмите клавишу Tab для перехода в поле ввода Name и введите значение свойства Name первой формы.

Щелкните по кнопке Next или нажмите клавишу Enter для завершения ввода данных и перехода к описанию следующего пункта меню.

Для завершения работы по созданию меню щелкните кнопку OK.

  1. Добавьте пять форм в проект командой Project\Add Form.

Простым формам присвойте имена frmForm0 – frmForm5. Свойству MDIChild всех простых форм присвойте значение True.

  1. Для элементов управления меню предусмотрено только одно событие – Click. Оно возникает, когда пользователь с помощью мыши или клавиатуры выбирает нужный пункт меню.

Щелкните мышью по первому пункту меню – откроется обработчик события Click выбранного пункта меню:

Private Sub mnuForm0_Click()

End Sub

В обработчик событий Click пунктов меню запишите текст программы для вызова формы:

Private Sub mnuForm0_Click()

frmForm0.Show

End Sub

  1. Сделайте родительскую форму стартовой: введите команду Project\ Project1 Properties... и в окне Startup Object установите значение MDIForm1.

  2. Добавьте в меню пункт Окно и установите для этого пункта флажок WindowList.

Добавьте меню второго уровня для пункта меню Окно: Каскад, Горизонтально и Вертикально.

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

  1. Запишите для каждого пункта меню второго уровня Каскад, Горизонтально и Вертикально тексты программ см. раздел 2.3.

  2. Проверьте правильность вызова форм в соответствии с их типами и управление расположением окон (откройте все окна и расположите их каскадом, горизонтально, вертикально, сверните в значок).

  3. Сохраните программу на диске.

Задача 2.2. Тебуется разработать меню для вычисления площадей поверхностей и объемов геометрических фигур: параллелепипеда, призмы, конуса, цилиндра, шара. Меню должно содержать не более трех уровней вложенности.

Порядок работы.

1. Изобразите структуру будущего меню (рис. 2.7).

2. Составьте таблицу (табл. 2.3) для удобства описания элементов меню.

Таблица 2.3

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]