Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_VB_ч_1_МГУС.doc
Скачиваний:
45
Добавлен:
23.08.2019
Размер:
1.41 Mб
Скачать

Задание № 2. Разработка многодокументного интерфейса

Постановка задачи

Разработать MDI-приложение (MDI – Multiple Documents Interface – многодокументный интерфейс). Разработать пользовательское меню.

Создание MDI-приложения

Для создания МDI-приложения необходимо иметь как минимум две формы — ро­дительскую MDI-форму (контейнер) и дочернюю (внутреннюю), которая будет открываться в родительской форме. Чтобы работать с дочерни­ми формами различных типов, необходимо включить в проект дополнительные формы. Для простейшего МDI-проекта одной формы вполне доста­точно. Этой формой будет форма frmCalc.frm из одноименного проекта CalcXXX.vbp задания № 1. ХХХ – инициалы студента. Порядок создания MDI-приложения следующий:

  1. Загрузите свой первый проект CalcXXX.vbp из своей папки в Visual Basic (VB).

  2. Чтобы создать родительскую форму MDI, щелкните правой кнопкой мыши (ПКМ) на папке Формы в окне проекта и в контекстном меню (к/меню) выполните команду Добавить MDIФорма (ДО): Добавить MDI Форму (Вкл): Новое Кнопка: Открыть.

  3. Задайте свойству Name значение frmMDI, а свойству Caption — значение Программы Иванова (фамилию введите свою!).

  4. Щелкните правой кнопкой мыши на строке Проект1 в окне проекта и выберите из контекстного меню команду Проект1 Свойства… (ДО): Проект1- Свойства проекта. В диалоговом окне из поля со списком с названием Объект запуска выберите из списка строку frmMDI. Если не сделать этого, то при запуске вашего приложения будет отображаться дочерняя форма, а не родительская.

  5. Выберите одним щелчком ЛКМ на строке frmCalc окна проекта для выбора этой формы и задайте ее свойству MDIChild значение True. После этого при выполнении приложения дочерняя форма будет находиться внутри родительской.

  6. Свойству WindowState формы frmCalc задайте значение из списка: 2 – Развернуто.

Разработка меню

  1. Выберите в окне проекта форму frmMDI.

  2. Запустите редактор меню командой Инструменты Редактор меню (или нажмите клавиши Ctrl + E). Появится диалоговое окно, изображенное на рис. 2.3.

  3. Первое меню. Введите слово &Программы в поле Название. (Ввод пункта меню, начиная с амперсанта &, подчеркивает первую букву в пункте меню и позволяет активизировать меню нажатием клавиши этой буквы).

  4. Введите mnuPrg в поле Имя.

  5. Нажмите кнопку <Дальше>.

  6. Нажмите кнопку со стрелкой вправо — у команды меню появляется отступ, заполненный точками.

  7. Введите &Калькулятор в поле Название.

  8. Введите mnuCalc в поле Имя.

  9. Второе меню. Нажмите кнопку <Дальше>.

  10. Нажмите кнопку со стрелкой влево.

  11. Введите слово &Выход в поле Название.

  12. Введите mnuEnd в поле Имя.

  13. Закройте редактор меню кнопкой <ОК>. 8. В форме frmMDI должна появиться строка меню: Программы Выход.

  14. П одключение меню. На выбранной родительской форме frmMDI откройте меню Программы и щелкните ЛКМ на пункт меню Калькулятор.

  15. В появившемся окне разработки кода появится заготовка процедуры для этого пункта меню (с названием Калькулятор и именем mnuCalc – см. п.п. 7, 8), т. е. первая и последняя строки процедуры.

Private Sub mnuCalc_Click()

End Sub

  1. Вставьте в тело процедуры mnuCalc_Click() события Click следующий фрагмент:

Dim frm1 As New frmCalc

frm1.Show

После ввода кода и комментария процедура должна выглядеть следующим образом:

Private Sub mnuCalc_Click()

Dim frm1 As New frmCalc

frm1.Show ' метод Show открывает форму

‘ здесь – это форма frmCalc

End Sub

  1. Для меню Выход нет пунктов подменю, поэтому после щелчка ЛКМ по этому пункту меню сразу откроется окно разработки кода и появится «заготовка» процедуры для обработки события mnuEnd_Click().

  2. Введите код тела процедуры с комментарием, чтобы процедура приняла такой вид:

Private Sub mnuEnd_Click()

Dim intVar As Integer

intVar = MsgBox("Вы хотите закончить работу?", _

vbYesNo + vbQuestion, "Программы Иванова")

‘ вместо Иванова ввести свою фамилию

' MsgBox() - функция, выводящая диалоговое окно

‘с кнопками Да, Нет

If intVar = 6 Then Unload Me '6 – если нажата кнопка Да,

‘закрывается форма, в которой находится меню.

‘Здесь это родительская форма frmMDI

End Sub

  1. Запустите программу, нажав клавишу F5, и проверьте работу меню.

Выполнив команду Файл Сохранить Проект как…, сохраните его под именем Программы_ХХХ (вместо ХХХ введите свои инициалы!).

Каждую новую программу разрабатывайте после ввода новой формы после щелчка правой кнопки мыши (ПКМ) на строке Формы в окне проектов и выполнения в контекстном меню команды Добавить Форма. Чтобы сделать новую форму дочерней формой, задайте ее свойству MDIChild значение True. Добавление нового пункта подменю для открытия новой формы необходимо делать в соответствии с п.п. 1 ÷ 15 раздела 2 данного задания.

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