- •Введение. Установка среды программирования
- •2. История языка Basic
- •3. Установка Visual Basic
- •Лабораторная работа №1. Интерфейс Visual Basic. Создание первого проекта
- •Теоретическая часть
- •1 . Первое знакомство
- •5. Стандартная панель инструментов
- •Практическая часть
- •Лабораторная работа №2. Изменение свойств компонентов. Метод Print
- •Теоретическая часть
- •1. Состав панели управления
- •2. Окно свойств и редактора кода
- •3. Свойства элементов управления
- •3.1 Свойства элемента Form
- •3.2 Свойства элемента TextBox
- •3.3. Свойства компонента CommandButton
- •Объект.Print [Список вывода]
- •Объект.Cls Практическая часть
- •Лабораторная работа №3. Работа с простейшим графическим объектом Visual Basic
- •Теоретическая часть
- •Практическая часть
- •Лабораторная работа №4. Работа с арифметическими выражениями и функциями
- •Теоретическая часть
- •1. Арифметические выражения Visual Basic.
- •2. Встроенные функции Visual Basic
- •3. Функции преобразования
- •Str (число)
- •Val (символьное выражение)
- •Практическая часть
- •Лабораторная работа №5. Решение простейших математических задач с использованием линейных алгоритмов
- •Теоретическая часть
- •1. Типы данных
- •2. Объявление переменных
- •Public / Private / Dim Имя_переменной [As Тип_переменной]
- •Оператор_объявления_типа Строка_интервалов_имен
- •3. Константы Visual Basic
- •4. Область видимости переменной
- •Public / Private / Dim Имя_переменной [As Тип_переменной]
- •Имя_формы.Имя_переменной
- •Практическая часть
- •Лабораторная работа №6. Программирование ветвлений с использованием оператора If
- •Теоретическая часть
- •1. Конструкция If … Then … End If
- •2. Конструкция If … Then … Else … End If
- •3. Конструкция If … Then … Else If… End If
- •Практическая часть
- •Лабораторная работа №7. Программирование ветвлений с использованием оператора Case
- •Теоретическая часть
- •Практическая часть
- •Лабораторная работа №8. Программирование циклов
- •Теоретическая часть
- •1. Цикл For…Next
- •2. Цикл For Each … Next
- •3. Цикл Do While … Loop
- •4. Цикл Do Until … Loop
- •5. Цикл Do … Loop While
- •6. Цикл Do … Loop Until
- •7. Цикл While … Wend
- •Практическая часть
- •Лабораторная работа №9. Разработка приложений для обработки массивов
- •Теоретическая часть
- •1. Объявление массивов
- •2. Массивы с фиксированной границей и динамические массивы.
- •UBound (имяМассива [, измерение]) Практическая часть
- •Лабораторная работа №10. Разработка приложений с использованием методов рисованИя графических примитивов
- •Теоретическая часть
- •1. Графическая поверхность
- •2. Графические примитивы
- •Практическая часть
- •Лабораторная работа №11. Построение графиков и диаграмм
- •Лабораторная работа №12. Применение пользовательских диалоговых окон
- •Теоретическая часть
- •1. Окно и функция InputBox
- •2. Окно MsgBox
- •MsgBox Текст сообщения [,Константа] [,Заголовок]
- •3. Функция MsgBox()
- •Практическая часть
- •Лабораторная работа №13. Разработка компьютерного теста с использованием Visual Basic
- •Теоретическая часть
- •Лабораторная работа №14. Создание пользовательского меню и панели инструментов
- •Теоретическая часть
- •Call Имя процедуры ([Список Параметров Вызова]),
- •Практическая часть
- •Лабораторная работа №15. Создание текстового редактора
- •Теоретическая часть
- •Практическая часть
- •Лабораторная работа №16. Разработка мультимедиа-приложений
- •Теоретическая часть
- •Практическая часть
- •Лабораторная работа №17. Макросы: запись, запуск, чтение
- •Теоретическая часть
- •Обычно макрос содержит следующие элементы.
- •Практическая часть
- •Лабораторная работа №18. Создание форм рабочего листа
- •Теоретическая часть
- •1. Когда необходимо использовать vba в Excel
- •2. Объект Application
- •3. Объект Workbook
- •4. Объект Worksheet
- •5. Объект Range
- •Инициализация и отображение диалогового окна
- •Практическая часть Создание пользовательской формы
- •Создание пользовательской формы
- •Практические задания по программированию на vba
- •Лабораторная работа №19. Создание книги лабораторных работ с автоматизированным выбором страниц книги
- •Практическая часть
- •Лабораторная работа №20. Моделирование процессов
- •Теоретическая часть
- •Лабораторная работа №21. Создание сводных таблиц в vba
- •Теоретическая часть Практическая часть
- •Лабораторная работа №22. Работа с компонентом Chart
- •Теоретическая часть Практическая часть
- •Лабораторная работа №23. Работа с базами данных в Visual Basic
- •Теоретическая часть Практическая часть
- •Лабораторная работа №24. Работа с базами данных в Excel с использованием Visual Basic
- •Теоретическая часть Практическая часть
- •Лабораторная работа №25. Обработка данных на рабочем листе Теоретическая часть Практическая часть
Лабораторная работа №14. Создание пользовательского меню и панели инструментов
Цель работы: рассмотреть способы создания пользовательского меню и панели инструментов; научиться создавать приложения с пользовательским меню и панелью инструментов
Теоретическая часть
В текстовом редакторе Word можно работать с несколькими документами одновременно и видеть каждый из них в своем окне. Все эти окна находятся внутри главного окна Word и являются по отношению к нему дочерними. В среде Visual Basic удобным средством для создания многооконного приложения служит так называемый многооконный интерфейс.
Для создания пользовательского меню необходимо выполнить команду Tools → Menu 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.
Ход работы.
Создайте папку Лабораторная_работа_№14. Скопируйте в нее 1-2 папки с предыдущими лабораторными работами (например, Калькулятор и Фотоальбом).
Запустите программу Microsoft Visual Basic 6.0.
Откройте существующий проект (например, Альбом.vbp).
Выберите команду Project → Add MDI Form (Проект → Добавить MDI-форму).
В окне MDI Form на вкладке New щелкните на кнопке Открыть.
С войству Name MDI-формы установите значение frmProgram, а свойству Caption – значение Программы. Остальные свойства для формы установите по своему усмотрению (цвет, размеры и т.п.).
Выберите команду Project → Add Form.
В окне Add Form откройте вкладку Existing и выберите еще одну существующую форму (например, frmКалькулятор.frm).
П осле выполненных действий окно Project Explorer должно иметь вид, представленный на Рис.14.8.
У форм frmКалькулятор и frm.Альбом свойству MDIChild присвойте значение True.
Выделите в окне Project Explorer форму frmПрограммы.
Выполните команду Project → Project Properties (Проект → Свойства проекта).
В открывшемся диалоговом окне (Рис.14.9) выберите вкладку General.
В окне Startup Object (Стартовый объект) раскройте список и выберите из него форму frmПрограммы (Рис.14.9). Теперь эта форма проекта будет стартовой.
Откройте форму Программы.
Выполните команду Tools → Menu Editor (Отладка → Редактор).
В окне редактора меню создайте меню, указав данные, приведенные в таблице 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 |
Сохраните проект под именем Программы в папке Лабораторная_работа_№14.
Щелкая левой клавишей мыши на пунктах и подпунктах меню, наберите программный код, соответствующий каждому пункту. Необходимые комментарии приведены после апостровоф в коде программы.
'Щелчок по пункту меню «Каскад»
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
Сохраните проект
Запустите проект на выполнение. Первой должна активизироваться стартовая форма.
Проверьте функционирование всего проекта.
Создайте exe-файл программы с помощью команды File → Make Программы.exe.
Выйдите из среды Visual Basic.
Запустите на выполнение файл Программы.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 используется для создания панели инструментов? Укажите его значимые свойства.