Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Живодерова В В / VB Лабораторный практикум 3часть.doc
Скачиваний:
72
Добавлен:
26.03.2016
Размер:
2.82 Mб
Скачать

Лабораторно-практическая работа № 9

Тема: Программирование графики

Цель: Закрепить навыки использования графических методов

1 Часть

Постановка задачи: Нарисовать узор, который образован из нескольких вложенных квадратов. Стороны первого квадрата параллельны осям координат экрана. Вершины каждого последующего квадрата – это точки на сторонах предыдущего квадрата, делящие эти стороны в отношении 0,08

Порядок выполнения

  1. Откройте новый проект.

  2. Установите на форме следующие объекты и измените им свойства:

Объект

Свойство

Значение

Командная кнопка

Name

CmdResult

Caption

Нарисуй

Рамка

Caption

Выбери цвет линий узора

Картинка

Name

Picture1

Height

3000

Width

3000

Переключатели

Name

Opt1

Caption

Разноцветный

Name

Opt2

Caption

Черный

  1. В разделе общих объявлений набрать

Dim x1, y1, x2, y2, x3, y3, x4, y4, k

  1. В окне кода процедуры обработки события Loadдля объектаFormнабрать

Picture1.Cls

x1 = 0 : y1 = 0

x2 = Picture1.Width : y2 = 0

x3 = Picture1.Width : y3 = Picture1.Height

x4 = 0 : y4 = Picture1.Height

k = 0.1

  1. В окне кода процедуры обработки события Clickдля объектаCmdResultнабрать

If Opt1.Value = True Then

Picture1.ForeColor = QBColor(Int(Rnd * 15) + 1)

Else

Picture1.ForeColor = QBColor(0)

End If

Picture1.Line (x1, y1)-(x2, y2)

Picture1.Line (x2, y2)-(x3, y3)

Picture1.Line (x3, y3)-(x4, y4)

Picture1.Line (x4, y4)-(x1, y1)

X0 = x1

Y0 = y1

x1 = x1 + (x2 - x1) * k

y1 = y1 + (y2 - y1) * k

x2 = x2 + (x3 - x2) * k

y2 = y2 + (y3 - y2) * k

x3 = x3 + (x4 - x3) * k

y3 = y3 + (y4 - y3) * k

x4 = x4 + (X0 - x4) * k

y4 = y4 + (Y0 - y4) * k

  1. Проверьте работу программы, выполняя многократное нажатие кнопки «Нарисуй»

  2. Измените у формы свойство DrawWidth (увеличьте значение). Просмотрите работу программы

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

  4. Самостоятельно разработать программу, которая начертить узор, описанный в постановке задачи, но составленный из а) треугольников; б) пятиугольников; в) шестиугольников

2 Часть

  1. Откройте новый проект.

  2. Установите на форме следующие объекты и измените им свойства:

Объект

Свойство

Значение

Командные кнопки

Name

CmdStart

Caption

Старт

Name

CmdStop

Caption

Стоп

Таймер

Name

Timer1

Форма

DrawWidth

10

  1. В окне кода процедуры обработки события Timer для объекта Timer1 набрать

Dim x, y

Dim R, G, B

x = Form1.ScaleWidth * Rnd()

y = Form1.ScaleHeight * Rnd()

R = Int(256 * Rnd())

G = Int(256 * Rnd())

B = Int(256 * Rnd())

Form1.PSet (x, y), RGB(R, G, B)

  1. Самостоятельно набери программный код для командных кнопок, одна из них должна включать таймер, другая – останавливать.

  2. Результат показать преподавателю.