
- •Введение. Установка среды программирования
- •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. Обработка данных на рабочем листе Теоретическая часть Практическая часть
Лабораторная работа №10. Разработка приложений с использованием методов рисованИя графических примитивов
Цель работы: рассмотреть способы вывода графических изображений, операторы, используемые для создания изображений; научиться разрабатывать приложения, осуществляющие рисование изображений
Теоретическая часть
1. Графическая поверхность
Программа может вывести графику на поверхность формы или компонента PictureBox. Для того, чтобы во время работы программы на поверхности объекта появилась, например, линия, необходимо вызвать соответствующий метод. В результате выполнения инструкции
Form1.Line(10,10) – (50,10)
на поверхности формы появится линия.
Графику на поверхности объекта формирует процедура обработки события Paint, которая происходит всякий раз, когда объект появляется на экране.
М
етоды,
обеспечивающие вычерчивание графических
примитивов (линий, прямоугольников и
т.п.), рассматривают поверхность формы
или компонента PictureBox
как холст, на котором они могут
рисовать путем изменения цвета его
отдельных точек – пикселов. Положение
пиксела характеризуется его горизонтальной
(x)
и вертикальной (y)
координатами. Координаты отсчитываются
от верхнего левого угла и возрастают
слева направо (x)
и сверху внизу (y).
Точка, находящаяся в левом верхнем углу
поверхности, имеет координаты (0,0)
(Рис.10.1).
Координаты точек графической поверхности могут измеряться в твипах (по умолчанию; 1 твип = 15 пикселей), пикселах, миллиметрах, сантиметрах и др.
При программировании графики наиболее удобной единицей измерения является пиксел. Поэтому свойству ScaleMode (формы или компонента PictureBox) следует присвоить значение свойства Pixel (во время создания формы приложения) или vbPixels (во время работы программы).
Координаты точек можно отсчитывать от левого верхнего угла графической поверхности (абсолютная адресация) или от текущего положения указателя графического вывода (относительная адресация).
Указатель графического вывода – это графический курсор, который, в отличие от обычного текстового курсора, на экране не отображается. В начале работы программы он находится в точке (0,0), а после выполнения операции отображения графики – в той точке, в которой она была завершена. Например, после выполнения инструкции
Form1.Line(10,10) – (40,10)
указатель графического вывода будет находиться в точке (40,10).
При относительной адресации перед координатами указывается слово Step. Например, инструкция
Form1.Line(10,10) – step(30,0)
рисует из точки (10,10) горизонтальную линию длиной в 30 пикселов.
Информация о текущем положении указателя графического вывода находится в свойствах CurrentX и CurrentY.
2. Графические примитивы
Картинку, чертеж или схему можно представить как совокупность графических примитивов: точек, линий, окружностей, дуг, текста и др.
Рисование графических примитивов обеспечивают соответствующие методы (Таблица 10.1).
Таблица 10.1 – Методы рисования графических примитивов
Метод |
Действие |
Инструкция вызова |
PSet |
Рисует точку |
Объект.PSet(x,y), Color |
Line |
Рисует линию или прямоугольник |
линия Объект.Line(x1,y1) – (x2,y2), Color прямоугольник Объект.Line(x1,y1) – (x2,y2), Color, B |
Circle |
Рисует окружность, круг, эллипс, дугу или сектор |
окружность, круг Объект.Circle(x,y),r, Color дуга, сектор Объект.Circle(x,y),r, Color, start, fin эллипс Объект.Circle(x,y),r, Color, start, fin, aspect |
Выводит текст |
Объект.Print “Строка” |
Метод Print был рассмотрен во второй лабораторной работе.
Параметр Color задает цвет рисуемого примитива и является не обязательным. Если он не указан, то объект будет окрашен в цвет, заданный значением свойства ForeColor графической поверхности, на которой рисует метод.
В качестве параметра Color можно использовать одну из именованных констант Visual Basic (Таблица 10.2).
Таблица 10.2 – Список именованных констант Visual Basic для параметра Color
Константа |
Цвет |
vbBlack |
Черный |
vbRed |
Красный |
vbGreen |
Зеленый |
vbYellow |
Желтый |
vbBlue |
Синий |
vbMagenta |
Пурпурный (Фиолетовый) |
vbCyan |
Голубой (Бирюзовый) |
vbWhite |
Белый |
Также для задания цвета можно использовать набор цветов QBasic (Таблица 10.3).
Таблица 10.3 – Список именованных констант QBasic для параметра Color
Номер цвета |
Цвет |
0 |
Черный |
1 |
Синий |
2 |
Зеленый |
3 |
Бирюзовый |
4 |
Красный |
5 |
Темно-красный |
6 |
Коричневый |
7 |
Светло-серый |
8 |
Серый |
9 |
Голубой |
10 |
Светло-зеленый |
11 |
Светло-бирюзовый |
12 |
Светло-красный (розовый) |
13 |
Фиолетовый |
14 |
Желтый |
15 |
белый |
В качестве параметра Color можно использовать также значение функции RGB, которая возвращает код цвета, полученного путем смешивания красной, зеленой и синей красок в указанных пропорциях. У функции RGB три параметра: доля красного цвета, доля зеленого цвета, доля синего цвета. Значение каждого диапазона должно находиться в диапазоне от 0 до 255. Например, значение RGB(205,127,50) обозначает код «золотого» цвета.
Параметры x и y обозначают координаты, от которых зависит местоположение объекта.
PSet(x,y), Color – параметры x и y задают местоположение точки
Line(x1,y1) – (x2,y2), Color - параметры x1,y1 задают координаты точки начала линии, а параметры x2,y2 – координаты точки конца линии
Circle(x,y),r, Color - параметры x и y задают координаты центра окружности.
У метода рисования Circle есть особые параметры.
Circle(x,y),r, Color: r – радиус окружности. Цвет и стиль закраски внутренней области окружности определяют соответственно свойства FillColor и FillStyle той графической поверхности, на которой рисует метод.
Circle(x,y),r, Color, start, fin: r – радиус окружности, start – задает начальную точку дуги – точку пересечения линии окружности и прямой, проведенной из центра окружности под углом start относительно оси OX, fin – задает конечную точку дуги. Дуга вычерчивается от начальной точки к конечной против часовой стрелки. Если перед параметрами start и fin поставить минус, то будет образован сектор.
Circle(x,y),r, Color, start, fin, aspect: r – задает больший радиус окружности, aspect – коэффициент сжатия (трансформации). Если значение параметра aspect меньше единицы, то эллипс получается путем сжатия окружности по вертикали, если больше – по горизонтали.