Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный практикум по Visual Basic.doc
Скачиваний:
51
Добавлен:
31.08.2019
Размер:
10.63 Mб
Скачать

Лабораторная работа №14. Создание пользовательского меню и панели инструментов

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

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

В текстовом редакторе Word можно работать с несколькими документами одновременно и видеть каждый из них в своем окне. Все эти окна находятся внутри главного окна Word и являются по отношению к нему дочерними. В среде Visual Basic удобным средством для создания многооконного приложения служит так называемый многооконный интерфейс.

Для создания пользовательского меню необходимо выполнить команду ToolsMenu Editor (Отладка → Редактор). В результате откроется окно, внешний вид которого приведен на Рис.14.1.

Для перехода к следующему пункту необходимо щелкать по кнопке Next. Для создания подпункта пользуются стрелками → и ←.

В среде Visual Basic, как и в любой другой программе, присутствует панель инструментов. Панель инструментов – это набор кнопок и других элементов, предназначенных для быстрого выполнения наиболее часто встречающихся действий, например создание нового файла, открытие, сохранение файла, выбор размера шрифта и т.п. Кнопки на панели инструментов бывают разных стилей.

Наиболее распространенные стили кнопок:

  • С тиль tbrDefault – обычная кнопка панели управления (Рис.14.2).

  • Стиль tbrCheck – кнопка-флажок, она может быть отжатой или нажатой независимо от других (Рис.14.3).

  • Стиль tbrButtonGroup – группа переключателей; из всей группы в каждый момент времени нажатым может быть только один из них (Рис.14.3).

  • Стиль tbrPlaceholder – кнопка резервирует место для чего-то другого, например, для поля со списком (Рис.14.5).

Для создания панели инструментов необходимо подключить дополнительный компонент - Microsoft Windows Common Controls 6.0 (SP6). В результате в окне ToolBox появится несколько дополнительных элементов, среди которых:

- ToolBar (панель инструментов);

- ImageList (список картинок).

ImageList не будет виден при запуске проекта. Назначение этого элемента – хранить в виде удобного списка картинки, которые Вы желаете разместить на кнопках панели инструментов.

Для программирования щелчков мыши по кнопкам панели инструментов не обязательно заново описывать алгоритм выполнения той или иной функции. Можно использовать функцию Call для вызова уже имеющейся процедуры (если она уже была создана заранее).

Формат функции Call:

Call Имя процедуры ([Список Параметров Вызова]),

где Call – ключевое слово языка Visual Basic;

Имя процедуры – имя вызываемой процедуры;

СписокПараметровВызова – переменные, выражения или их значения, разделенные запятыми. Этот список может отсутствовать.

Для правильного выбора той или иной процедуры (исходя из того, по какой кнопке щелкнул пользователь) лучше использовать оператор выбора Case.

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

Задание 1. Создание многооконного интерфейса.

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

Ранее Вы уже создавали различные приложения. Эти программы никак не связаны между собой и работают автономно. Поставим задачу: создать для этих программ управляющую форму с меню, при помощи которого будет выбираться требуемое приложение. Данная форма должна быть стартовой, а меню выполнять следующие функции:

  • вызов указанной программы;

  • размещение форм каскадом или сверху вниз внутри стартовой формы;

  • в ыход.

В нешний вид стартовой формы и состав меню представлены на Рис.14.6 и 14.7.

Ход работы.

  1. Создайте папку Лабораторная_работа_№14. Скопируйте в нее 1-2 папки с предыдущими лабораторными работами (например, Калькулятор и Фотоальбом).

  2. Запустите программу Microsoft Visual Basic 6.0.

  3. Откройте существующий проект (например, Альбом.vbp).

  4. Выберите команду Project Add MDI Form (Проект Добавить MDI-форму).

  5. В окне MDI Form на вкладке New щелкните на кнопке Открыть.

  6. С войству Name MDI-формы установите значение frmProgram, а свойству Caption – значение Программы. Остальные свойства для формы установите по своему усмотрению (цвет, размеры и т.п.).

  7. Выберите команду Project Add Form.

  8. В окне Add Form откройте вкладку Existing и выберите еще одну существующую форму (например, frmКалькулятор.frm).

  9. П осле выполненных действий окно Project Explorer должно иметь вид, представленный на Рис.14.8.

  10. У форм frmКалькулятор и frm.Альбом свойству MDIChild присвойте значение True.

  11. Выделите в окне Project Explorer форму frmПрограммы.

  12. Выполните команду Project Project Properties (Проект Свойства проекта).

  13. В открывшемся диалоговом окне (Рис.14.9) выберите вкладку General.

  14. В окне Startup Object (Стартовый объект) раскройте список и выберите из него форму frmПрограммы (Рис.14.9). Теперь эта форма проекта будет стартовой.

  15. Откройте форму Программы.

  16. Выполните команду Tools Menu Editor (Отладка Редактор).

  17. В окне редактора меню создайте меню, указав данные, приведенные в таблице 14.1. Для перехода к следующему пункту щелкайте по кнопке Next. Для создания подпункта пользуйтесь стрелками → и ←. Процесс создания меню показан на Рис.14.10. В результате меню должно иметь вид, представленный на Рис.14.6 и 14.7.

Таблица 14.1 Пункты меню

Название (Caption)

Уровень (← →)

Имя (Name)

Выбор программы

1

mnuProg

Калькулятор

2

itmКалькулятор

Фотоальбом

2

itmФотоальбом

Окно

1

mnuWindow

Каскад

2

itmCascade

Сверху вниз

2

itmHorizontal

Выход

1

mnuExit

  1. Сохраните проект под именем Программы в папке Лабораторная_работа_№14.

  2. Щелкая левой клавишей мыши на пунктах и подпунктах меню, наберите программный код, соответствующий каждому пункту. Необходимые комментарии приведены после апостровоф в коде программы.

'Щелчок по пункту меню «Каскад»

Private Sub itmCascade_Click()

Arrange vbCascade 'метод Arrange упорядочивает дочерние окна или их значки

'в окне материнской MDI-формы. В качестве аргумента метода

'используется одна из констант Visual Basic или ее значение.

'Состояние окна определяется свойством WindowState:

'0 - Normal; 1 - Minimizes; 2 - Maximized

End Sub

'Щелчок по пункту меню «Сверху вниз»

Private Sub itmHorizontal_Click()

Arrange vbTileHorizontal

End Sub

'Щелчок по пункту «Калькулятор»

Private Sub itmКалькулятор_Click()

Dim newform As New frmКалькулятор

Load newform

newform.Show

End Sub

'Щелчок по пункту меню «Фотоальбом»

Private Sub itmФотоальбом_Click()

Dim newform As New frmАльбом

Load newform

newform.Show

End Sub

'Щелчок по пункту меню «Выход»

Private Sub mnuExit_Click()

End

End Sub

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

  2. Запустите проект на выполнение. Первой должна активизироваться стартовая форма.

  3. Проверьте функционирование всего проекта.

  4. Создайте exe-файл программы с помощью команды File Make Программы.exe.

  5. Выйдите из среды Visual Basic.

  6. Запустите на выполнение файл Программы.exe и убедитесь, что проект работает автономно, как любые другие Windows-приложения.

Задание 2. Создание панели инструментов.

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

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

В ид приложения Программы.exe с панелью инструментов приведен на Рис.14.11.

Ход работы.

1 . Подберите картинку с изображением калькулятора и фотографии (или фотоаппарата). Внутри папки Лабораторная_работа_№14 создайте папку Images, в которой сохраните эти картинки с соответствующими названиями в формате bmp, например Photo.bmp или Calckul9tor.bmp.

Теперь необходимо установить дополнительные элементы управления в окне ToolBox.

2. Выберите команду Project - Components

3. На вкладке Controls установите флажки у следующих компонентов: Microsoft Windows Common Controls 6.0 (SP6). В результате в окне ToolBox появится несколько дополнительных элементов, среди которых - ToolBar (панель инструментов) и - ImageList (список картинок).

4. Разместите элементы ToolBar и ImageList на форме. При этом ToolBar сразу «прилипнет» к верхнему краю формы (Рис.14.12).

5. Щелкните правой клавишей мыши по ImageList и выберите опцию Properties.

6. В окне Property Pages выберите вкладку Images.

7. Щелкните по кнопке Insert Picture и найдите в появившемся окне нужную папку с картинками (в нашем случае папка Images, которую Вы создали в папке с данной лабораторной работой).

8. Выбранная картинка появится в поле Images, а в поле Index появится ее порядковый номер – 1. Аналогично вставьте вторую картинку, ее индекс – 2 и т.д. (Рис.14.13). Закончив, щелкните на кнопке OK.

9. Щелкните правой клавишей мыши по расположенному на форме компоненту ToolBar. Выберите опцию Properties.

10. В открывшемся окне Property Pages выберите вкладку General (Рис.14.14).

11. В списке ImageList выберите ImageList1 (Рис.14.14).

12. Откройте вкладку Buttons (Рис.14.15).

13. Щелкните по кнопке Insert Button. В поле Index появится 1.

1 4. Далее выберите стиль кнопки (с помощью кнопки Style) (в примере оставлен по умолчанию 0)

15. В поле Image введите индекс картинки из ImageList, которую Вы хотите поместить на кнопку.

16. В поле Key введите любое слово, по которому в дальнейшем, как по имени, будет происходить обращение к этой кнопке (например, Калькулятор).

1 7. Также заполните поле ToolTipText. Информация, введенная в это поле, будет отображаться в виде подсказки при подведении мыши к кнопке (Рис.14.15).

18. Проведите аналогичные действия для второй кнопки. Закончив, нажмите на кнопке OK. Вид приложения после добавления панели инструментов показан на Рис.14.16.

Осталось запрограммировать работу кнопок на панели инструментов.

Так как мы уже запрограммировали действия, которые должны выполняться при выборе той или иной программы в меню (Калькулятор, Альбом), то нет необходимости описывать заново программный код для панели инструментов. Для этого воспользуемся функцией Call - функцией вызова общей процедуры.

19. Щелкните два раза левой клавишей мыши на созданной панели инструментов и наберите в открывшемся окне следующий программный код (необходимые комментарии приведены в кавычках):

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)

Select Case Button.Key 'В зависимости о того, по какой кнопке

'выполнен щелчок мышью, вызывается

'соответствующая процедура

Case "Калькулятор"

Call itmКалькулятор_Click 'Процедура Call вызывает выше созданную

'процедуру itmКалькулятор_Click

Case "Фотоальбом"

Call itmФотоальбом_Click 'Процедура Call вызывает выше созданную

'процедуру itmФотоальбом_Click

End Select

End Sub

20. Запустите проект на выполнение. Проверьте функционирование всего проекта, в том числе и панели инструментов.

21. Создайте exe-файл программы с помощью команды File Make Программы.exe. Не забудьте сохранить программный код и форму приложения.

22. Выйдите из среды Visual Basic.

23. Запустите на выполнение файл Программы.exe и убедитесь, что проект работает автономно, как любые другие Windows-приложения.

Подведем итоги

В работе были использованы новые

объекты:

- ToolBar (панель инструментов);

- ImageList (список картинок).

- CommonDialog

методы:

Arrange (упорядочивает дочерние окна или их значки в окне материнской MDI-формы)

константы Visual Basic (для MDI-формы):

vbCascade (окна каскадом)

vbTileHorizontal (окна сверху вниз)

vbTileVertical (окна слева направо)

vbArrangeIcons (упорядочивание значков)

события:

Change (сообщает об изменении содержимого объекта)

операторы:

Call (вызов общей процедуры)

свойства:

WindowState (состояние окна)

Задания для самостоятельного выполнения

1. Составьте конспект по теоретической части лабораторной работы. Выполненное задание покажите преподавателю.

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

3. Добавьте к опциям меню Окно опцию Вертикально (или Слева направо). Запрограммируйте работу данной опции меню, используя константу vbTileVertical.

4. Сдайте выполненное задание преподавателю.

Вопросы для контроля

1. Какой метод позволяет упорядочивать дочерние окна в приложении? Какие значения он имеет?

2. Укажите формат вызова общей процедуры. В каких случаях он используется?

3. Какой объект Visual Basic используется для создания панели инструментов? Укажите его значимые свойства.