12728

Разработка меню пользователя в Visual Basic

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная работа № 2 Тема: Разработка меню пользователя Цель занятия: Приобрести навыки в разработке меню пользователя создании родительских MDIформ и дочерних форм. Задание: Создать форму для вычисления площади плоской фигуры по варианту. Входны...

Русский

2013-05-03

64 KB

21 чел.

Лабораторная работа № 2

Тема: Разработка меню пользователя

Цель занятия: Приобрести навыки в разработке меню пользователя, создании  родительских  (MDI-форм) и  дочерних форм.

Задание:

  1.   Создать форму для вычисления площади плоской фигуры (по варианту). Входные параметры вводятся  с использованием элементов управления TextBox. Вычисления производятся при нажатии на кнопки ComandButton. Результаты выводятся с использованием элементов управления Label.  Аккуратно и красиво оформить форму.

№ вар.

Описание

1

Площадь круга: 

2

Площадь прямоугольника:  

3

Площадь треугольника (формула Герона)

где р - полупериметр

  1.   Добавьте  в проект MDI-форму (Project  → Add   MDI Form).
  2.   Разработайте меню пользователя для управления формами.

Возможная структура меню:

        Файл

             Открыть

  Сохранить

   Печать

              ----------------

               Выход

             Вычисление

                  Параллелепипед

          Площадь

          Объем

                  Цилиндр

          Площадь

         Объем

            Помощь

                О программе

                    Автор

  1.   Присвойте свойству MDIChild дочерних форм значение True.
  2.   Добавьте в главное меню пункт “Окно”, настройте его на автоматическое формирование списка открытых окон, напишите программу  для управления окнами.
  3.   Оформить отчет. Отчет должен содержать название лабораторной работы, тему,  распечатки текстов программ, форм, ответы на контрольные вопросы.

Контрольные вопросы.

  1.  Дайте определение родительской формы, дочерней формы.
  2.  Как добавить в проект простую форму, MDI форму?
  3.  Как разработать меню пользователя?
  4.  Как установить стартовую  форму?
  5.  Как установить клавишу ускоренного вызова программы?

Теоретические сведения:

Visual Basic 6.0  имеет удобное средство для разработки меню – Menu Editor, которое вызывается командой Tools / Menu Editor или комбинацией клавиш CTRL – E.

VB позволяет иметь до шести  уровней  вложенности меню. Рекомендуется использовать не более 3-х уровней вложенности (для удобства). VB позволяет создавать иерархические меню. Первый уровень – горизонтальное меню  (строка). Второй и последующие уровни – всплывающие меню.

Диалоговое окно Menu Editor приведено на рис.

Строка ввода Caption служит для ввода наименования пункта меню, выводимого на экран. После нажатия клавиши OK или щелчка мыши введенное наименование появляется в окне редактора. Если перед одним из символов наименования пункта  меню поставить символ   “&“ -  амперсенд, то появится возможность вызывать пункт меню по нажатию данной клавиши (горячей клавиши). Символ,  перед которым стоит знак “&”, подчеркивается.

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

Окно Index используется в том случае, если  имеется несколько пунктов меню с одинаковыми именами или надо сделать пункты меню частью массива элементов управления.

Окно Shortcut позволяет назначить каждому пункту меню комбинацию клавиш для быстрого вызова команд меню: Ctrl + клавиша, Shift +  клавиша и др. При открытии списка появится список быстрых клавиш, из которого надо выбрать нужный.

Oкно HelpContexID обеспечивает ввод идентификатора, который используется в электронной справочной системе для выдачи контекстно-зависимой справки по вашему приложению.

Окно  NegotiatePosition – служит для определения способа отображения меню на экране, когда один из связанных объектов приложения активен: не показывать, слева, справа, по центру.

Флажок Checked. Если значение данного свойства равно True, то возле соответствующего пункта меню появляется галочка. Это сигнализирует о том, что соответствующий параметр выбран.

Флажок Enabled. Определяет доступность данного пункта меню. Если его значение False , то пункт меню недоступен.

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

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

Кнопка Next  предназначена  для добавления новых пунктов меню.                 

Кнопка Insert  позволяет вставить поле для ввода нового пункта меню.

Кнопка Delete  служит для удаления выделенного пункта меню.

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

Изменение уровня вложенности элементов меню осуществляется с помощью кнопок и . Первая кнопка понижает уровень, вторая – повышает.

Кнопки и служат для перемещения выделенного пункта меню.

Понятие о MDI-форме

MDI–форма - это многодокументный интерфейс, предназначенный для  организации взаимодействия нескольких  независимых форм.

MDI-форма является родительской формой или контейнером для  других  (дочерних) форм. Создание MDI-формы осуществляется командой Project, Add MDI Form.

При запуске программы с MDI-формой программа автоматически устанавливает  размеры дочерних окон, которые могут оказаться меньше, чем при настройке и поэтому часть объектов активной формы может быть невидимой. Чтобы избавиться от этого недостатка, необходимо в обработчике события Load каждой формы явно указать размеры и положение формы в окне, например:

Private Sub Form_Load()

     Me.Height = 2745

     Me.Width = 3090

Me.Top = (MDIForm1.ScaleHeigth – Me.Heigth) / 2

Me.Left = (MDIForm1.ScaleWidth – Me.Width) / 2  

     End Sub

Если  одна из форм максимизируется, то и все последующие открываемые форму будут развернуты на все окно. Чтобы этого не происходило, необходимо при закрытии максимизированной формы приводить ее размеры в нормальное состояние.  Для этого в обработчик события кнопки ВЫХОД формы надо поместить следующий код:

Private Sub mnuExit_Click()

     Me.WindowState = 0

     Unload Me

End Sub

Работа с дочерними формами

Чтобы обычная форма стала подчиненной MDI-форме (дочерней  формой), значение ее свойства MDIChild необходимо установить  в True.

Дочерние формы показываются с помощью метода Show, например:

Private Sub mnuVvod_Click()

    frmVvod.Show

End Sub

Управление открытыми формами:

-  установите флажок WindowList для элемента меню Window;  

- введите меню второго уровня в меню Window: каскадом, горизонтально, вертикально. Управление окнами осуществляется с помощью метода  Arrange. Кроме того,  VB имеет четыре константы для управления окнами: VbCascade – размещение окон каскадом, VbTileHorizontal – размещение окон горизонтально, VbTileVertical - размещение окон вертикально, VbArrangeIcons – пиктограммы всех минимизированных окон располагаются по нижнему краю родительской формы. Последнее свойство реализуется с помощью кнопки системного меню Минимизация:

- поместите в обработчики события Click  этих пунктов меню  объектный код следующего вида:

     имяMDI-формы.Arrange константаVisualBasic

Например:

 Sub mnuCascade_Click

        MDIForm1.Arrange VbCascade

  End Sub

  Sub  mnuHorizontal_Click

        MDIForm1.Arrange VbTileHorizontal

  End Sub

  Sub  mnuVertical_Click

        MDIForm1.Arrange VbTileVertical

  End Sub

Чтобы указать форму,  которая должна стартовать первой, щелкните правой кнопкой мыши в окне проекта и выберите из контекстного меню команду  Project Properties.  На вкладке  General   в окне Startup Object выбрите имя стартовой формы.


Рис. Редактор меню Menu Editor


 

А также другие работы, которые могут Вас заинтересовать

68186. РОЗПОВСЮДЖЕННЯ ЗВУКОВИХ ІМПУЛЬСІВ У ХВИЛЕВОДАХ, ЗАПОВНЕНИХ ІДЕАЛЬНОЮ РІДИНОЮ 1.25 MB
  Наукова новизна отриманих результатів: показана можливість використання моделі нестаціонарної пружної хвилі у вигляді періодичної послідовності часових відрізків синусоїди за відсутністю або наявності частотної модуляції з метою дослідження процесу розповсюдження імпульсу у хвилеводі...
68187. ЛІНГВОСЕМІОТИЧНІ ХАРАКТЕРИСТИКИ ГІПЕРРЕАЛЬНОСТІ В АНГЛОМОВНОМУ ХУДОЖНЬОМУ ТЕКСТІ ЖАНРУ ФЕНТЕЗІ 3.44 MB
  Поставлена мета передбачає розв’язання таких завдань: визначити лінгвосеміотичну природу гіперреальності в художньому тексті жанру фентезі; розробити методику аналізу знаків гіперреальності в англомовному художньому тексті жанру фентезі; змоделювати фрейм гіперреальності в художніх...
68188. ПРЕФІКСАЛЬНА КОНВЕРГЕНЦІЯ РОСІЙСЬКИХ ДІЄСЛІВ 148.5 KB
  У сучасній дериватології як динамічній підсистемі мови загалом й у царині дослідження окремих словотвірних процесів зокрема дієслівної префіксації спостерігається пошук нових шляхів дослідження. Колібаби на матеріалі віддієслівних іменників Н. Лахно...
68189. ФОРМУВАННЯ МЕХАНІЗМУ ОПОДАТКУВАННЯ НЕРУХОМОГО МАЙНА В УКРАЇНІ 261.5 KB
  Запровадження оподаткування нерухомого майна є одним з пріоритетних завдань реформування податкової системи України, реалізацію якого передбачено Податковим кодексом. Податки на нерухоме майно як інструмент фіскальної політики застосовуються у багатьох країнах світу з різними формами державного устрою...
68190. Удосконалення технології радіально-прямого видавлювання деталей зі сферичною порожниною із порошкових пористих заготовок 661.5 KB
  У сучасних умовах підвищення конкурентоспроможності продукції вітчизняного машинобудування пов’язано з удосконаленням технологій видавлювання для виготовлення біметалічних деталей які дозволяють одержати вироби високої якості з використанням вторинних ресурсів при мінімальних...
68191. Соціально-політичний розвиток Греції в умовах європейської інтеграції 165 KB
  Трансформація суспільної свідомості в бік визнання переваг демократичного ладу поступово призвела до переконання щодо необхідності більш активної участі у загальноєвропейських процесах свідченням чого став процес інтеграції Греції до структур ЄС.
68192. МЕТОДИЧНА ПІДГОТОВКА МАЙБУТНІХ УЧИТЕЛІВ МАТЕМАТИКИ З ВИКОРИСТАННЯМ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ 483 KB
  Динамічні зміни в усіх сферах життєдіяльності, реформування освіти України та загальна інформатизація навколишнього середовища спонукають до переусвідомлення чинних і пошуку нових концептуальних засад щодо вдосконалення якості освіти.
68193. СИНТЕЗ ВІСЕСИМЕТРИЧНИХ ЕЛЕКТРОМАГНІТІВ ПОСТІЙНОГО СТРУМУ 1.97 MB
  Великий клас електромагнітних систем які знайшли широке застосування як основа електромагнітів електричних апаратів і інших електромеханічних пристроїв та механізмів являють собою електромагніти з осьовою симетрією.
68194. РОЗВИТОК ТВОРЧИХ ЗДІБНОСТЕЙ МОЛОДШИХ ШКОЛЯРІВ У РОБОТІ НАД ТЕКСТОМ НА УРОКАХ УКРАЇНСЬКОЇ МОВИ 195 KB
  Проблема розвитку творчих здібностей особистості є однією з центральних у педагогіці оскільки прогрес суспільства це шлях творчого зростання долання стереотипів і вироблення нових нестандартних часто несподіваних рішень оригінальних підходів і шляхів їх втілення.