Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа18.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
861.18 Кб
Скачать

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

Тема: «Меню, панели инструментов»

Цели работы:

  1. Получение практических навыков программирования в среде Visual Basic

  2. Получение практических навыков в создании меню

Часть 1 меню

Теоретическая часть

Д ля создания меню может быть применен редактор меню Menu Editor. Для его запуска можно воспользоваться, например, командой меню Tools, Menu Editor. Окно редактора меню (рисунок 18.1) в основном состоит из двух областей. В верхней части окна расположены поля свойств Caption и Name текущего элемента меню. Первое из них определяет надпись в меню, а второе – имя элемента меню в исходном тексте програм –мы. Поле в нижней части окна отображает структуру меню. Кнопки над ним позволяют эту структуру редактировать. Поле Index заполняется при создании массива элементов меню. Если установить флажок в поле Checked, то пункт меню будет помечен галочкой уже при старте программы. Поле Enabled позволяет отключить пункт меню. Для этого следует сбросить флажок или при выполнении программы задать этому свойству пункта меню значение False. При этом пункт меню будет недоступен для пользователя. Свойство Visible управляет видимостью пункта меню. Остальные пункты меню сдвигаются, заполняя опустевшее место.

Кнопки со стрелками влево и вправо изменяют подчиненность выделенной строки. Чем больше отступ строки, тем она более подчинена. Кнопки со стрелками вверх или вниз позволяют переместить текущую строку соответственно выше или ниже.

Кнопка Next вставляет строку, если текущая является последней.

Кнопка Insert вставляет строку перед текущей строкой. Кнопка Delete удаляет текущую строку.

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

Практическая часть

  1. Запустите Visual Basic. Если появится окно New Project, то выберите Standart.exe и создайте стандартный проект.

  2. Для сохранения проекта в рабочей папке щелкните на кнопке Save Project панели инструментов, перейдите в корневой каталог диска d, с помощью кнопки Создание новой папки создайте свою рабочую папку, откройте ее и щелкните на кнопке Сохранить окна Save Project As.

  3. В меню Tools (Сервис) щелкните на команде Options (На­стройка) и затем щелкните на вкладке Editor (Редактор). Если в окне Require Variable Declaration (обязательное объявление переменных) нет флажка, щелкните на окне, чтобы добавить его. Щелкните на ОК.

  4. Создайте надпись в нижней части формы.

  5. Щелкните на форме, Form1 чтобы сделать ее активной.

  6. Запустите редактор меню командой Tools, Menu Editor.

  7. Задайте свойства элементов управления в соответствии с таблицей.

Таблица 18.1

Объект

Свойство

Значение

Form

Name

frmMain

Caption

Здоровая пища

Label

Name

lblDisplay

Alignment

2-Center

BorderStyle

1-Fixed Single

Caption

Хотите кушать? Выбирайте!

Font

MS Sans Serif

10 пунктов

Bold (полужирный)

BaсkColor

Выбрать на палитре белый

Menu(1) *

Name

mnuFruits

Caption

Фрукты

Menu(2)

Name

mnuZitrus

Caption

Цитрусовые

Menu(3)

Name

mnuLemon

Caption

Лимоны

Menu(3)

Name

mnuOrang

Caption

Апельсины

Menu(3)

Name

mnuApple

Caption

Яблоки

Menu(3)

Name

mnuPear

Caption

Груши

Menu(2)

Name

mnuVegetable

Caption

Овощи

Menu(3)

Name

mnuCucumber

Caption

Огурцы

Menu(3)

Name

mnuPotato

Caption

Картофель

Menu(3)

Name

mnuTomato

Caption

Томаты

Menu(2)

Name

MnuNuts

Caption

Орехи

Menu(3)

Name

mnuWalnut

Caption

Грецкий орех

Menu(3)

Name

mnuHazelnut

Caption

Лесной орех

* В таблице цифра в скобках справа от слова Menu означает уровень пункта в иерархии меню.

В исходной программе, текст которой приведен далее, событийная процедура Form_Load выполняется при загрузке формы и осуществляет инициализацию функции Rnd, возвращающей случайное число из диапазона [0, 1).

Процедура Сообщение выводит передаваемую ей строку вместе со сцепленной с ней выбираемой случайным образом одним из пяти вариантов добавки в надписи lblDisplay.

Событийная процедура Form_Resize выполняется при изменении размера формы. Она определяет положение на форме и размер надписи lblDisplay. В этой процедуре происходит обращение к методу Move, который перемещает левый верхний угол окна объекта, к которому он применяется, в точку с заданными координатами X, Y, а также устанавливает заданные ширину и высоту поля объекта. При этом начало координат предполагается находящимся в левом верхнем углу формы. Ось X направлена вправо. Ось Y направлена вниз. Вот синтаксис этого метода:

ИмяОбъекта.Move X, Y, Ширина, Высота

Применяемые также в этой процедуре имена ScaleWidth и ScaleHeight обозначают текущую ширину и соответственно высоту активной формы.

В исходном тексте также присутствуют однотипные процедуры, обрабатывающие событие Click каждого из пунктов меню.

  1. Введите исходный текст программы:

Option Explicit

Private Sub Form_Load()

Randomize

End Sub

Private Sub Сообщение (Str As String)

Dim i As Integer

Dim Строка As String

i = Int(5 * Rnd + 1)

Select Case i

Case 1

Строка = " - это очень вкусно."

Case 2

Строка = " - это неплохо."

Case 3

Строка = " - это полезно."

Case 4

Строка = " - великолепно."

Case 5

Строка = " - хотите еще?"

End Select

lblDisplay.Caption = Str & Строка

End Sub

Private Sub Form_Resize()

lblDisplay.Move 0, 0.75 * ScaleHeight, ScaleWidth, _

0.25 * ScaleHeight

End Sub

Private Sub mnuApple_Click()

Сообщение mnuApple.Caption

mnuApple.Enabled = False

End Sub

Private Sub mnuPotato_Click()

Сообщение mnuPotato.Caption

mnuPotato.Enabled = False

End Sub

Private Sub mnuPear_Click()

Сообщение mnuPear.Caption

mnuPear.Enabled = False

End Sub

Private Sub mnuCucumber_Click()

Сообщение mnuCucumber.Caption

mnuCucumber.Enabled = False

End Sub

Private Sub mnuHazelnut_Click()

Сообщение mnuHazelnut.Caption

mnuHazelnut.Enabled = False

End Sub

Private Sub mnuOrange_Click()

Сообщение mnuOrange.Caption

mnuOrange.Enabled = False

End Sub

Private Sub mnuLemon_Click()

Сообщение mnuLemon.Caption

mnuLemon.Enabled = False

End Sub

Private Sub mnuTomato_Click()

Сообщение mnuTomato.Caption

mnuTomato.Enabled = False

End Sub

Private Sub mnuWalnut_Click()

Сообщение mnuWalnut.Caption

mnuWalnut.Enabled = False

End Sub

  1. Сохраните проект.

  2. Запустите проект и проверьте его работу. Работа приложения должна соответствовать рисунку 9.2.

  3. Продемонстрируйте работу проекта препода– вателю.