12728

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

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

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

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

Русский

2013-05-03

64 KB

22 чел.

Лабораторная работа № 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


 

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

48826. Кольца, полукольца, мера на полукольце 409 KB
  Кольцо множеств есть система множеств, замкнутая по отношению к взятию суммы и пересечения, вычитанию и образованию симметрической разности. Любое кольцо содержит пустое множество Ø, так как всегда А\A=Ø. Система, состоящая только из пустого множества, представляет собой наименьшее возможное кольцо множеств.
48828. ОРГАНІЗАЦІЯ ДОСЛІДНОЇ ДІЛЬНИЦІ ВИРОБНИЦТВА ОКТАН-КОРЕКТОРА 578.5 KB
  У цій частині курсового проекту розраховуємо дослідну дільницю виробництва Октан - коректора. Вихідними даними для розрахунку будуть: Програма випуску – 100 штук за 1 день. Режим роботи дільниці, що проектується, – одна зміна тривалістю 8 годин. Планово-операційна карта виготовлення виробу.
48829. ОРГАНІЗАЦІЯ ДОСЛІДНОЇ ДІЛЬНИЦІ ВИРОБНИЦТВА «ПІДСИЛЮВАЧ НЧ» 555.5 KB
  Розрахунок необхідної кількості робітників по професіям і розрядам проводиться на основі планово-операційної карти шляхом ділення об’єму роботи по кожній професії і розряду на дійсний фонд часу роботи одного робітника.
48830. Разработка одиночного стрелочного перевода 1.99 MB
  Расчет угла и марки крестовины Марка крестовины зависит от угла между рабочими гранями сердечника крестовины. Угол крестовины определяют из уравнения проекции расчетного контура стрелочного перевода на вертикальную ось.16 где конструктивные размеры обеспечивающие сборку переднего стыка крестовины мм; – длина накладки равная 820 мм для рельсов типа Р50; постоянный запас мм; показатель марки.18 Полученную таким путем показатель крестовины округляют в большую стороны.
48832. Расчёт абсорбера сырого газа 412.5 KB
  Насадочные колонны являются наиболее распространенным типом абсорбционного аппарата. Это объясняется простотой их устройства, удовлетворительной работой и возможностью применения для агрессивных сред.
48833. Влияние организационной культуры на формирование системы мотивации и стимулирования персонала в ООО «Адидас» 167.5 KB
  Неэффективная система мотивации может вызвать у работников неудовлетворенность, что всегда влечет к снижение производительности труда. С другой стороны, эффективная система стимулирует производительность персонала, повышает эффективность человеческих ресурсов, обеспечивает достижение всего комплекса целей системы.